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

Как известно, одну и ту же программу можно создавать различными способами. Те из них, которые будут предложены ниже, просты в понимании и могут с успехом применяться на практике, хотя зачастую несколько громоздки. Впрочем, о необходимости создания больших по объему кодов, а также о недостатках и преимуществах этого явления здесь уже говорилось.

Итак, рассмотрим следующий пример. Создадим многоугольник и попробуем изменить его размеры, вид, цвет и месторасположение. Приведенный ниже код рисует на форме параллелограмм, используя событие Form_Paint. Имя массива точек - point ( ), порядок расположения точек - от верхнего левого угла и далее по часовой стрелке.

Dim graf As Graphics = e.Graphics

Dim pen As Pen = New Pen(Color.Brown, 3)

Dim point() As Point = {New Point(100, 20), New Point

(200, 20), New Point(150, 120), New Point(50, 120)}

graf.DrawPolygon(pen, point)

End Sub

Здесь использован метод DrawPolygon с параметрами Pen (Перо) и Point (Точка). Теперь достаточно объявить переменную и придать ей значение одного из параметров метода DrawPolygon. Объявим переменную х, имеющую значение горизонтальной координаты правой верхней точки параллелограмма. А затем подставим эту переменную в код, определяющий массив точек, вместо первоначального значения точки: 200 пикселов. Окончательно код примет такой вид:

Private Sub Form4_Paint(ByVal sender As Object, ByVal e _ As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint

Dim graf As Graphics = e.Graphics

Dim pen As Pen = New Pen(Color.Brown, 3)

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

ГЛАВА б ▼ Динамика графических объектов

Static х As Integer = 200 х = х + 1

Dim point() As Point = {New Point(100, 20), New _ Point(x, 20), New Point(150, 120), New Point(50, 120)} graf.DrawPolygon(pen, point) End Sub

Private Sub Timerl_Tick(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Timerl.Tick Me.RefreshO End Sub

Таким образом, в данной программе происходит перемещение правого верхнего угла многоугольника по горизонтали. Соответственно меняется вид и размеры геометрической фигуры. Обратите внимание, что к интерфейсу данной программы добавлен таймер. Он использован для создания видимости движения объекта. Именно видимости, поскольку, как уже упоминалось, суть перерисовки заключается в уничтожении старого изображения и создании нового, имеющего другие параметры. Если изменить свойство таймера Enabled на True, он заработает сам сразу после запуска программы. Впрочем, для запуска таймера можно использовать кнопку Button, создав для нее код Timerl. Start (). Остановка производится другой кнопкой с помощью команды Timerl. Stop ().


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