Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Dim intPrevX As Integer Dim intPrevY As Integer





Теперь перепишем процедуру обработки события 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). Значение переменной можно задать различными способами:

  • присвоив какое-то числовое значение (Color = 12345; Color = &H80000018);
  • с помощью констант (Color = vbBlack);
  • с помощью функции QBColor() (Color = QBColor(3));
  • С помощью функции RGB() (Color = RGB(255,255,255)).

Дополним уже имеющийся код:

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-09-07; просмотров: 382. Нарушение авторских прав; Мы поможем в написании вашей работы!




Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...


Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...


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


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Понятие о синдроме нарушения бронхиальной проходимости и его клинические проявления Синдром нарушения бронхиальной проходимости (бронхообструктивный синдром) – это патологическое состояние...

Опухоли яичников в детском и подростковом возрасте Опухоли яичников занимают первое место в структуре опухолей половой системы у девочек и встречаются в возрасте 10 – 16 лет и в период полового созревания...

Способы тактических действий при проведении специальных операций Специальные операции проводятся с применением следующих основных тактических способов действий: охрана...

Гидравлический расчёт трубопроводов Пример 3.4. Вентиляционная труба d=0,1м (100 мм) имеет длину l=100 м. Определить давление, которое должен развивать вентилятор, если расход воздуха, подаваемый по трубе, . Давление на выходе . Местных сопротивлений по пути не имеется. Температура...

Огоньки» в основной период В основной период смены могут проводиться три вида «огоньков»: «огонек-анализ», тематический «огонек» и «конфликтный» огонек...

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

Studopedia.info - Студопедия - 2014-2025 год . (0.012 сек.) русская версия | украинская версия