ТЕМА № 21. Обработка событий мыши

  • doc
  • 07.05.2020
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала 72. ТЕМА № 21. Обработка событий мыши.doc

ТЕМА № 1. Обработка событий мыши

Задание: разработайте приложение «Графический редактор», в котором инструменты не будут похожи на инструменты стандартного графического редактора Paint.

 

Ход работы

1   Создайте на новой форме элемент управления PictureBox для вывода графического изображения (рис. 40). Первый инструмент, который мы создадим, будет Линии в центр, т.е. при перемещении указателя мыши по PictureBox будут рисоваться линии от указателя к центру PictureBox.

2   Для этого необходимо запрограммировать событие MouseMove (перемещение мыши) для PictureBox следующим образом:

 

Private Sub picКартинка_MouseMove(Button As Integer, Shift As Integer, _

X As Single, Y As Single)

            picКартинка.Line (picКартинка.Width / 2, picКартинка.Height / 2)-(X, Y), vbRed

End Sub

Рис. 40. Конструктор формы

3   Эта процедура рисует линию красного цвета (vbRed) из центра picКартинка к координатам указателя мыши Х и Y, которые передаются в эту процедуру как параметры.

4   Запустите приложение и поводите мышкой по PictureBox. У вас должно получиться изображение, аналогичное рис. 41. Теперь, не закрывая приложения, сверните его на панель задач, а затем сразу распахните. Изображение исчезло. Чтобы исправить эту погрешность, закройте приложение и установите свойство AutoRedraw для picКартинка равным True.

 

Рис. 41. Линии в центр

5   Но в данном случае мы не управляем процессом вывода линий. Необходимо, чтобы мы могли подавать команды для начала и окончания рисования линий. Самый удобный вариант – это подавать данные команды мышью, к примеру, чтобы линии рисовались при ее нажатой левой клавише.

6   Для этого обработаем значение параметра Button события MouseMove для picКартинка следующим образом:

 

If Button <> 1 Then Exit Sub

 

7   Для выполнения дополнительного и контрольных заданий добавим на нашей форме меню Инструменты (рис. 42), в котором будут перечисляться созданные графические инструменты.

8   Самостоятельно создайте код для пункта меню Линии в центр.

 

Рис. 42. Конструктор меню Инструменты

Дополнительное задание

Добавьте инструмент Квадратики, который будет оставлять шлейф из квадратиков за перемещающимся указателем мыши.

 

Контрольные задания

Добавьте в наш графический редактор следующие новые функции:

1) инструмент Диагональный отрезок (/);

2) инструмент Диагональный отрезок (\);

3) инструмент Перекрестье (+);

4) инструмент Перекрестье (×);

5) инструменты Окружности и Кружочки;

6) инструмент Распылитель;

7) пункт меню Цвет для выбора цвета;

8) пункт меню Толщина для изменения толщины рисования;

9) пункт Файл (Новый, Открыть, Выход);

10) пункт Файл (Сохранить, Выход).

 

Вопросы для самоконтроля

1   Когда генерируется событие MouseMove?

2   Когда генерируются события MouseDown и MouseUp?

3   С помощью какого оператора можно сохранить созданную картинку из PictureBox в файле на диске?

4   Какой тип графического файла получается в результате такого сохранения?

5   Какое свойство элементов управления включает перерисовку его содержимого при повторном выводе на экран?


Скачано с www.znanio.ru