Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Живодерова В В / VB Лабораторный практикум 4 часть.doc
Скачиваний:
105
Добавлен:
26.03.2016
Размер:
1.49 Mб
Скачать

Лабораторно-практическая работа № 9

Тема: События, связанные с мышкой

Цель: Закрепить навыки использования событий MouseMove, MouseDown и разработки меню

Постановка задачи: Разработать приложение «Графический редактор», позволяющий рисовать изображения, используя объекты точка, квадрат, круг, а также позволяющий менять размер этих объектов и их цвет

  1. Откройте новый проект.

  2. Установите на форме графическое окно (Pic1)и создайте следующее меню:

Пункты меню

Name

Объект

Квадрат

Круг

Точка

MnuOb

MnuQw

MnuCirc

MnuPset

Цвет

Красный

Зеленый

Синий

MnuColor

MnuR

MnuG

MnuB

Размер

5

10

20

MnuSize

Mnu5

Mnu10

Mnu20

Очистить

MnuCls

Выход

MniExit

  1. В разделе общих объявлений набрать

Dim f, S As Integer

  1. В окне кода процедуры обработки события Loadдля объектаFormнабрать

Form1.Height = 5500

Form1.Width = 5300

Pic1.Height = 4500

Pic1.Width = 5000

Pic1.Left = 100

Pic1.Top = 100

Pic1.Scale (0, 0)-(100, 100)

  1. В окне кода процедуры обработки события Clickдля объектаMnu10набрать

S=10

  1. Самостоятельно ввести код для Mnu5, Mnu20

  2. В окне кода процедуры обработки события Clickдля объектаMnuBнабрать

Pic1.ForeColor = vbBlue

  1. Самостоятельно ввести код для MnuR, MnuG

  2. В окне кода процедуры обработки события Clickдля объекта

MnuQwнабратьf=3

MnuCircнабратьf=2

MnuPsetнабрать f=1

  1. Самостоятельно написать код для пунктов меню Очистить, Выход

  2. В окне кода процедуры обработки события MouseDownдля объектаPic1набрать

Select Case f

Case 1 'точка

Pic1.Pset (X, Y), Pic1.ForeColor

Case 2 'круг

Pic1.Circle (X, Y), S

Case 3 'квадрат

Pic1.Line (X, Y)-(X + S, Y + S), , B

End Select

  1. В окне кода процедуры обработки события MouseMove для объекта Pic1 набрать

If Button = 1 Then ‘нажата левая кнопка

Select Case f

Case 1 'точка

Pic1.Pset (X, Y), Pic1.ForeColor

Case 2 'круг

Pic1.Circle (X, Y), S

Case 3 'квадрат

Pic1.Line (X, Y)-(X + S, Y + S), , B

End Select

End If

  1. Проверьте работы программы.

  2. Измените программы так, чтобы при нажатии правой кнопки мышки она «работала» как стерка, т.е. рисовала квадрат белым цветом.

  3. Результат показать преподавателю.

  4. Добавьте в меню для пункта «Объекты» подпункт «Распылитель»и введите следующий код

f=4

  1. Измените процедуры для событий MouseDown, MouseMove, добавив в каждую из них следующий код

Case 4

For i = 1 To 20

Pic1.PSet (Rnd * S + X - S / 2, Rnd * S + Y - S / 2), Pic1.ForeColor

Next i

  1. Измените программу для рисования линии, используя следующий код: (не забудьте объявить новые переменные)

Case 10 'прямая

If z = 0 Then

z = 1

x0 = X : y0 = Y

Else

Pic1.Line (x0, y0)-(X, Y)

z = 0

End If

  1. Предложите способ рисования ломанной линии

Лабораторно-практическая работа № 10

Тема: Использование буфера обмена и параметров выделенного текста

Цель: Получить навыки использования в программе буфера обмена.

Постановка задачи: Создать приложение для использования буфера обмена для обмена данными между текстовым окном и комбинированным списком, а также для вставки рисунка, созданного в Paint в окно рисунка.

Порядок выполнения:

  1. Откройте новый проект

  2. Добавить на форму следующие объекты и установить для них свойства:

Комбинированный список

Name

cboList

Графическое окно

Name

picMyPic

Текстовое окно

Name

TxtEdit

  1. Набрать код процедуры обработки события Load для объекта Form:

'Заполним комбинированный список

cboList.AddItem "Телефон"

cboList.AddItem "Рыба"

cboList.AddItem "Звонок"

  1. Набрать код процедуры обработки события GotFocus для объекта picMyPicture :

'Изменим тип границы окна рисунка при помещении 'на него фокуса

picMyPicture.BorderStyle = 1

  1. Набрать код процедуры обработки события LostFocus для объекта :picMyPicture

'Изменим тип границы окна рисунка при "потере" им фокуса.

picMyPicture.BorderStyle = 0

  1. Набрать код процедуры для пункта Копировать

Clipboard.Clear 'Очистим буфер обмена

'Поиск выделенного элемента управления и

'помещение его содержимого в буфер обмена

If TypeOf Screen.ActiveControl Is TextBox Then

Clipboard.SetText Screen.ActiveControl.SelText

ElseIf TypeOf Screen.ActiveControl Is ComboBox Then

Clipboard.SetText Screen.ActiveControl.Text

ElseIf TypeOf Screen.ActiveControl Is PictureBox Then

Clipboard.SetData Screen.ActiveControl.Picture

End If

  1. Набрать код процедуры для пункта Вырезать:

'Выполним процедуру mnuCopy_Click ()

mnuCopy_Click

'Поиск выделенного элемента управления

'и удаление его содержимого

If TypeOf Screen.ActiveControl Is TextBox Then

Screen.ActiveControl.SelText = " "

ElseIf TypeOf Screen.ActiveControl Is ComboBox Then

Screen.ActiveControl.Text = " "

ElseIf TypeOf Screen.ActiveControl Is PictureBox Then

Screen.ActiveControl.Picture = LoadPicture()

Else

End If

  1. Набрать код процедуры для пункта Вставить:

If TypeOf Screen.ActiveControl Is TextBox Then

Screen.ActiveControl.SelText = Clipboard.GetText()

ElseIf TypeOf Screen.ActiveControl Is ComboBox Then

Screen.ActiveControl.Text = Clipboard.GetText()

ElseIf TypeOf Screen.ActiveControl Is PictureBox Then

Screen.ActiveControl.Picture = Clipboard.GetData()

End If

  1. Проверить работу программы, для этого:

загрузите программу;

сверните ваше приложение;

в редакторе Paint создайте рисунок и скопируйте его в буфер обмена;

разверните ваше приложение, вставьте рисунок в окно рисунка (оно должно быть выделено).

Приложение позволяет также копировать, вырезать, вставлять текст в (из) текстовое окно, комбинированный список. Поэкспериментируйте.

  1. Сохраните проект.