Изменение цвета региона при нажатии на него - VB

Узнай цену своей работы

Формулировка задачи:

Помогите, не работает программа, не могу изменить цвет региона при нажатии на него P.S. Это Active X
Листинг программы
  1. Option Explicit
  2. Private Declare Function CreatePolygonRgn Lib "gdi32" (lpPoint As Any, ByVal nCount As Long, ByVal nPolyFillMode As Long) As Long
  3. Private Declare Function CreateSolidBrush Lib "gdi32" (ByVal crColor As Long) As Long
  4. Private Declare Function FillRgn Lib "gdi32.dll" (ByVal hDC As Long, ByVal hRgn As Long, ByVal hbrush As Long) As Long
  5. Private Declare Function PtInRegion Lib "gdi32" (ByVal hRgn As Long, ByVal X As Long, ByVal Y As Long) As Long
  6. Private Type POINTAPI
  7. X As Long
  8. Y As Long
  9. End Type
  10. Dim tochka(5) As POINTAPI
  11. Dim hbrush As Long
  12. Dim hRgn As Long
  13. Dim color As Long
  14. Dim vhojdenie As Long
  15. Private Sub Segment_1()
  16. tochka(0).X = ScaleWidth * 0.13
  17. tochka(1).X = ScaleWidth * 0.87
  18. tochka(2).X = ScaleWidth * 0.92
  19. tochka(3).X = ScaleWidth * 0.87
  20. tochka(4).X = ScaleWidth * 0.13
  21. tochka(5).X = ScaleWidth * 0.08
  22. tochka(0).Y = ScaleHeight * 0.03
  23. tochka(1).Y = ScaleHeight * 0.03
  24. tochka(2).Y = ScaleHeight * 0.065
  25. tochka(3).Y = ScaleHeight * 0.1
  26. tochka(4).Y = ScaleHeight * 0.1
  27. tochka(5).Y = ScaleHeight * 0.065
  28. hRgn = CreatePolygonRgn(tochka(0), 6, 1)
  29. hbrush = CreateSolidBrush(vbRed)
  30. FillRgn hDC, hRgn, hbrush
  31. End Sub
  32. Private Sub UserControl_MouseDown(Button As Integer, Shift As Integer, myX As Single, myY As Single)
  33. vhojdenie = PtInRegion(hRgn, myX, myY)
  34. If vhojdenie <> 0 Then
  35. tochka(0).X = ScaleWidth * 0.13
  36. tochka(1).X = ScaleWidth * 0.87
  37. tochka(2).X = ScaleWidth * 0.92
  38. tochka(3).X = ScaleWidth * 0.87
  39. tochka(4).X = ScaleWidth * 0.13
  40. tochka(5).X = ScaleWidth * 0.08
  41. tochka(0).Y = ScaleHeight * 0.03
  42. tochka(1).Y = ScaleHeight * 0.03
  43. tochka(2).Y = ScaleHeight * 0.065
  44. tochka(3).Y = ScaleHeight * 0.1
  45. tochka(4).Y = ScaleHeight * 0.1
  46. tochka(5).Y = ScaleHeight * 0.065
  47. hRgn = CreatePolygonRgn(tochka(0), 6, 1)
  48. hbrush = CreateSolidBrush(vbBlue)
  49. FillRgn hDC, hRgn, hbrush
  50. End If
  51. End Sub
  52. Private Sub UserControl_Resize()
  53. AutoRedraw = True
  54. ScaleMode = 3
  55. Cls
  56. Segment_1
  57. End Sub

Решение задачи: «Изменение цвета региона при нажатии на него»

textual
Листинг программы
  1. Public Declare Function SelectObject Lib "gdi32" Alias "SelectObject" (ByVal hdc As Long, ByVal hObject As Long) As Long

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы