Фигуры в visual basic - VB (61100)
Формулировка задачи:
1. Подготовить приложение для изучения свойств объекта фигуры в соответствии с рисунком 2. При-ложение должно работать следующим образом. Щелчок мышки на соответствующем переключателе должен автоматически изменять свойство фигуры. Если флажок помечен – форма имеет границу, в противном случае – нет. По щелчку мыши на кнопке exit программа должна прекращать работу. Помогите сделать
Решение задачи: «Фигуры в visual basic»
textual
Листинг программы
- Private Type POINTAPI
- X As Long
- Y As Long
- End Type
- Private Declare Function Polygon Lib "gdi32" (ByVal hdc As Long, lpPoint As Any, ByVal nCount As Long) As Long
- Private Sub DrawNGon(ByVal X As Long, ByVal Y As Long, ByVal Radius As Long, Optional ByVal Count As Long = 3)
- Dim Omega As Double
- Dim nX As Double, nY As Double, K As Long
- Dim Ox As Double, Oy As Double
- Dim Pt() As POINTAPI
- ReDim Pt(Count)
- Omega = 6.28318530717959 / Count
- Ox = -Cos(Omega / 2): Oy = Sin(Omega / 2)
- Pt(0).X = Ox * Radius + X: Pt(0).Y = Oy * Radius + Y
- For K = 1 To Count
- nX = Ox * Cos(Omega) - Oy * Sin(Omega)
- nY = Ox * Sin(Omega) + Oy * Cos(Omega)
- Pt(K).X = nX * Radius + X: Pt(K).Y = nY * Radius + Y
- Ox = nX: Oy = nY
- Next
- Polygon picDisplay.hdc, Pt(0), Count
- End Sub
- Private Sub DrawSix()
- DrawNGon picDisplay.ScaleWidth / 2, picDisplay.ScaleHeight / 2, picDisplay.ScaleWidth / 3, 6
- End Sub
- Private Sub DrawSquare()
- DrawNGon picDisplay.ScaleWidth / 2, picDisplay.ScaleHeight / 2, picDisplay.ScaleWidth / 2, 4
- End Sub
- Private Sub DrawRectangle()
- Dim W As Long, H As Long
- W = picDisplay.ScaleWidth - 10
- H = W / 2
- picDisplay.Line (5, (picDisplay.ScaleHeight - H) / 2)-Step(W, H), , B
- End Sub
- Private Sub DrawCircle()
- picDisplay.Circle (picDisplay.ScaleWidth / 2, picDisplay.ScaleHeight / 2), picDisplay.ScaleWidth / 2 - 10
- End Sub
- Private Sub DrawOval()
- picDisplay.Circle (picDisplay.ScaleWidth / 2, picDisplay.ScaleHeight / 2), picDisplay.ScaleWidth / 2 - 10, , , , 0.5
- End Sub
- Private Sub chkBorder_Click()
- picDisplay.DrawStyle = IIf(chkBorder.Value = vbChecked, 0, 5)
- picDisplay.DrawWidth = 3
- DrawShape
- End Sub
- Private Sub DrawShape()
- picDisplay.Cls
- If optShape(0).Value Then DrawRectangle
- If optShape(1).Value Then DrawSquare
- If optShape(2).Value Then DrawOval
- If optShape(3).Value Then DrawCircle
- If optShape(4).Value Then DrawSix
- picDisplay.Refresh
- End Sub
- Private Sub cmdExit_Click()
- End
- End Sub
- Private Sub Form_Load()
- picDisplay.FillColor = vbCyan
- picDisplay.ForeColor = vbBlue
- chkBorder.Value = vbChecked
- optFill(0).Value = True
- optShape(0).Value = True
- End Sub
- Private Sub optFill_Click(Index As Integer)
- picDisplay.FillStyle = Index
- DrawShape
- End Sub
- Private Sub optShape_Click(Index As Integer)
- DrawShape
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д