Фигуры в 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

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


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

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

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