Читайте также: |
|
Теперь перепишем процедуру обработки события MouseMove и добавим обработку события MouseDown.
Dim intPrevX As Integer
Dim intPrevY As Integer
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
intPrevX = X
intPrevY = Y
End If
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then frmPaint.Line (intPrevX, intPrevY) -(X, Y)
intPrevX = X
intPrevY = Y
End Sub
Готово! Запускаем приложение и радуемся результату.
Радуемся, радуемся, но если приложение свернуть и обратно развернуть (или на время закрыть другим окном) изображение исчезнет. Избавиться от этой неприятности просто: установите свойство формы AutoRedraw равным true и окно будет перерисовываться автоматически.
Теперь, на закуску, создадим цветной рисунок.
По умолчанию будем использовать черный цвет. Другие цвета можно будет включит нажав на определенную клавишу на клавиатуре, вернутся к черному цвету нажав на любую другую клавишу.
Текущий цвет будем хранить в переменной Color типа Long (Длинное целое число от 32147483648 до +2147483647). Значение переменной можно задать различными способами:
Дополним уже имеющийся код:
Dim intPrevX As Integer
Dim intPrevY As Integer
Dim Color As Long
Private Sub Form_KeyPress(KeyAscii As Integer)
Select Case Chr$(KeyAscii)
Case "1"
Color = RGB(255, 0, 0)
Case "2"
Color = RGB(0, 255, 0)
Case "3"
Color = RGB(0, 0, 255)
Case Else
Color = RGB(0, 0, 0)
End Select
lColor = RGB(0, 0, 0)
End Sub
Private Sub Form_Load()
Color = RGB(0, 0, 0)
End Sub
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
intPrevX = X
intPrevY = Y
End If
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Print lColor
If Button = 1 Then frmPaint.Line (intPrevX, intPrevY)-(X, Y), Color
intPrevX = X
intPrevY = Y
End Sub
Одним из наиболее используемых событий формы является Load. Это событие происходит при загрузке формы в память. Поэтому Load лучше всего подходит для инициализации объектов и переменных, принадлежащих форме.
Готово!
Дата добавления: 2015-07-16; просмотров: 59 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) frmPaint.PSet (X, Y) End Sub | | | Использование элементов управления |