Фигуры в visual basic - VB (61100)

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

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

1. Подготовить приложение для изучения свойств объекта фигуры в соответствии с рисунком 2. При-ложение должно работать следующим образом. Щелчок мышки на соответствующем переключателе должен автоматически изменять свойство фигуры. Если флажок помечен – форма имеет границу, в противном случае – нет. По щелчку мыши на кнопке exit программа должна прекращать работу. Помогите сделать

Решение задачи: «Фигуры в visual basic»

textual
Листинг программы
  1. Private Type POINTAPI
  2.     X As Long
  3.     Y As Long
  4. End Type
  5. Private Declare Function Polygon Lib "gdi32" (ByVal hdc As Long, lpPoint As Any, ByVal nCount As Long) As Long
  6. Private Sub DrawNGon(ByVal X As Long, ByVal Y As Long, ByVal Radius As Long, Optional ByVal Count As Long = 3)
  7.     Dim Omega As Double
  8.     Dim nX As Double, nY As Double, K As Long
  9.     Dim Ox As Double, Oy As Double
  10.     Dim Pt() As POINTAPI
  11.     ReDim Pt(Count)
  12.     Omega = 6.28318530717959 / Count
  13.     Ox = -Cos(Omega / 2): Oy = Sin(Omega / 2)
  14.     Pt(0).X = Ox * Radius + X: Pt(0).Y = Oy * Radius + Y
  15.     For K = 1 To Count
  16.         nX = Ox * Cos(Omega) - Oy * Sin(Omega)
  17.         nY = Ox * Sin(Omega) + Oy * Cos(Omega)
  18.         Pt(K).X = nX * Radius + X: Pt(K).Y = nY * Radius + Y
  19.         Ox = nX: Oy = nY
  20.     Next
  21.     Polygon picDisplay.hdc, Pt(0), Count
  22. End Sub
  23. Private Sub DrawSix()
  24.     DrawNGon picDisplay.ScaleWidth / 2, picDisplay.ScaleHeight / 2, picDisplay.ScaleWidth / 3, 6
  25. End Sub
  26. Private Sub DrawSquare()
  27.     DrawNGon picDisplay.ScaleWidth / 2, picDisplay.ScaleHeight / 2, picDisplay.ScaleWidth / 2, 4
  28. End Sub
  29. Private Sub DrawRectangle()
  30.     Dim W As Long, H As Long
  31.     W = picDisplay.ScaleWidth - 10
  32.     H = W / 2
  33.     picDisplay.Line (5, (picDisplay.ScaleHeight - H) / 2)-Step(W, H), , B
  34. End Sub
  35. Private Sub DrawCircle()
  36.     picDisplay.Circle (picDisplay.ScaleWidth / 2, picDisplay.ScaleHeight / 2), picDisplay.ScaleWidth / 2 - 10
  37. End Sub
  38. Private Sub DrawOval()
  39.     picDisplay.Circle (picDisplay.ScaleWidth / 2, picDisplay.ScaleHeight / 2), picDisplay.ScaleWidth / 2 - 10, , , , 0.5
  40. End Sub
  41. Private Sub chkBorder_Click()
  42.     picDisplay.DrawStyle = IIf(chkBorder.Value = vbChecked, 0, 5)
  43.     picDisplay.DrawWidth = 3
  44.     DrawShape
  45. End Sub
  46. Private Sub DrawShape()
  47.     picDisplay.Cls
  48.     If optShape(0).Value Then DrawRectangle
  49.     If optShape(1).Value Then DrawSquare
  50.     If optShape(2).Value Then DrawOval
  51.     If optShape(3).Value Then DrawCircle
  52.     If optShape(4).Value Then DrawSix
  53.     picDisplay.Refresh
  54. End Sub
  55.  
  56. Private Sub cmdExit_Click()
  57.     End
  58. End Sub
  59.  
  60. Private Sub Form_Load()
  61.     picDisplay.FillColor = vbCyan
  62.     picDisplay.ForeColor = vbBlue
  63.     chkBorder.Value = vbChecked
  64.     optFill(0).Value = True
  65.     optShape(0).Value = True
  66. End Sub
  67. Private Sub optFill_Click(Index As Integer)
  68.     picDisplay.FillStyle = Index
  69.     DrawShape
  70. End Sub
  71. Private Sub optShape_Click(Index As Integer)
  72.     DrawShape
  73. End Sub

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


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

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

7   голосов , оценка 4.143 из 5

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

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

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