Трусов М. А. Visual Basic .NET. Создание графических объектов и основы программирования стр.104
Трусов М. А. Visual Basic .NET. Создание графических объектов и основы программирования стр.104

Dim d As Integer

Private Sub Forml_Paint(ByVal sender As Object, ByVal e _ As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint Dim bezr As New Classl bezr.ang = d

"bezr.ang = TextBoxl.Text bezr.bez(e) End Sub

Private Sub Forml_MouseMove(ByVal sender As Object, ByVal e _ As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove TextBoxl.Text = e.X End Sub

Private Sub Timerl_Tick(ByVal sender As System.Object, ByVal e _ As System.EventArgs) Handles Timerl.Tick Static a As Integer a = a - 1 d = a

Me.RefreshO End Sub

Трусов М. А. Visual Basic .NET. Создание графических объектов и основы программирования

Перемещение объектов

Посмотрим, как можно одновременно унаследовать коды файла формы и файла класса. Создадим еще одну форму Form2 и внесем в нее изменения. Заменим верхнюю строку Inherits System. Windows. Forms. Form строкой Inherits Forml. Вторая форма будет полным подобием первой и, хотя в файле модуля вы не увидите ни одной строчки кода, после открытия она полностью повторит программу первой формы. Затем напишем коды для объекта Class2. Они предназначены для рисования многоугольника. Для этого воспользуемся тем же файлом, в котором находятся коды класса Classl. Поскольку С lass 2 наследует класс Classl, нарисованный многоугольник должен выполнять те же действия, что и массив кривых Безье. В результате получим следующий код:

Public Class Classl

Dim al As New Point(50, 50)

Dim a2 As New Point(250, 220)

Dim a3 As New Point(250, 100)

Dim a4 As New Point(350, 200)

Dim a5 As New PointF(240, 150) Dim angl As Single

Property ang() As Single Get

ang = angl End Get

Set(ByVal Value As Single)

angl = Value

End Set

End Property

Sub bez(ByVal e As PaintEventArgs) Dim i As Integer For i = 1 To 15 a4.Y = a4.Y - 20 al.Y = al.Y + 20

Dim matr As New System.Drawing.Drawing2D.Matrix

matr.RotateAt(angl, a5)

e. Graphics. Trans form = matr

e.Graphics.DrawBezier(New Pen(Color.Red), al, a2, аЗ, a4) Next End Sub End Class

Трусов М. А. Visual Basic .NET. Создание графических объектов и основы программирования

ГЛАВА 14 ▼ Создание графики методами ООП

Public Class Class2 Inherits Classl

Sub bezKByVal e As Paint Event Args)

Dim pontO As Point = {New Point(50, 50), New Point(100, 70), _ New Point(80, 120)}


⇐ Предыдущая Следующая ⇒
 
 
 
Powered by Exponenta