Студопедия
rus | ua | other

Home Random lecture






Программа для рисования


Date: 2015-10-07; view: 377.


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

GraphicsWindow.MouseMove = OnMouseMove

 

Sub OnMouseMove

x = GraphicsWindow.MouseX

y = GraphicsWindow.MouseY

GraphicsWindow.DrawLine(prevX, prevY, x, y)

prevX = x

prevY = y

EndSub

При этом, когда Вы запускаете программу, первая строка всегда начинается в верхнем левом углу окна (0,0). Эту проблему можно решить с помощью события MouseDown, и вводом значений prevX и prevY, когда это событие произойдет.

Кроме того, нам нужно, чтобы след оставался только при нажатии на кнопку мыши. Нам не нужно, чтобы линии оставалась в других случаях. Для этого мы воспользуемся свойством IsLeftButtonDown на объектеМышь. С его помощью мы сможем понять, нажата ли кнопка мыши или нет. Если значение верное, то линия будет нарисована, если нет – мы пропускаем строку.

GraphicsWindow.MouseMove = OnMouseMove

GraphicsWindow.MouseDown = OnMouseDown

 

Sub OnMouseDown

prevX = GraphicsWindow.MouseX

prevY = GraphicsWindow.MouseY

EndSub

 

Sub OnMouseMove

x = GraphicsWindow.MouseX

y = GraphicsWindow.MouseY

If (Mouse.IsLeftButtonDown) Then

GraphicsWindow.DrawLine(prevX, prevY, x, y)

EndIf

prevX = x

prevY = y

EndSub

Приложение A

Примеры развлечений


<== previous lecture | next lecture ==>
Работа с несколькими событиями | Фотографии с сайта Flickr
lektsiopedia.org - 2013 год. | Page generation: 0.128 s.