- •Лабораторный практикум
- •4 Часть
- •Visual Basic. Основы программирования
- •Дмитров 2012
- •Содержание
- •Предисловие
- •Создание меню
- •Редактор меню
- •Отображение контекстного меню
- •Работа с несколькими окнами
- •Стандартные диалоговые окна
- •События, возникающие при работе с клавиатурой
- •События, связанные с фокусом
- •Лабораторно-практические работы лабораторно-практическая работа № 1
- •Лабораторно-практическая работа № 2
- •Лабораторно-практическая работа № 3
- •Лабораторно-практическая работа № 4
- •Лабораторно-практическая работа № 5
- •Лабораторно-практическая работа № 6
- •Лабораторно-практическая работа № 7
- •Лабораторно-практическая работа № 8
- •Лабораторно-практическая работа № 9
- •Лабораторно-практическая работа № 10
- •Лабораторно-практическая работа № 11
- •Лабораторно-практическая работа № 12
- •Лабораторно-практическая работа № 13
- •Задания для самостоятельного выполнения
- •Задание № 6
- •Задание № 7
- •Список использованной литературы
Лабораторно-практическая работа № 9
Тема: События, связанные с мышкой
Цель: Закрепить навыки использования событий MouseMove, MouseDown и разработки меню
Постановка задачи: Разработать приложение «Графический редактор», позволяющий рисовать изображения, используя объекты точка, квадрат, круг, а также позволяющий менять размер этих объектов и их цвет
Откройте новый проект.
Установите на форме графическое окно (Pic1)и создайте следующее меню:
-
Пункты меню
Name
Объект
Квадрат
Круг
Точка
MnuOb
MnuQw
MnuCirc
MnuPset
Цвет
Красный
Зеленый
Синий
MnuColor
MnuR
MnuG
MnuB
Размер
5
10
20
MnuSize
Mnu5
Mnu10
Mnu20
Очистить
MnuCls
Выход
MniExit
В разделе общих объявлений набрать
Dim f, S As Integer
В окне кода процедуры обработки события 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)
В окне кода процедуры обработки события Clickдля объектаMnu10набрать
S=10
Самостоятельно ввести код для Mnu5, Mnu20
В окне кода процедуры обработки события Clickдля объектаMnuBнабрать
Pic1.ForeColor = vbBlue
Самостоятельно ввести код для MnuR, MnuG
В окне кода процедуры обработки события Clickдля объекта
MnuQwнабратьf=3
MnuCircнабратьf=2
MnuPsetнабрать f=1
Самостоятельно написать код для пунктов меню Очистить, Выход
В окне кода процедуры обработки события 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
В окне кода процедуры обработки события 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
Проверьте работы программы.
Измените программы так, чтобы при нажатии правой кнопки мышки она «работала» как стерка, т.е. рисовала квадрат белым цветом.
Результат показать преподавателю.
Добавьте в меню для пункта «Объекты» подпункт «Распылитель»и введите следующий код
f=4
Измените процедуры для событий 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
Измените программу для рисования линии, используя следующий код: (не забудьте объявить новые переменные)
Case 10 'прямая
If z = 0 Then
z = 1
x0 = X : y0 = Y
Else
Pic1.Line (x0, y0)-(X, Y)
z = 0
End If
Предложите способ рисования ломанной линии
Лабораторно-практическая работа № 10
Тема: Использование буфера обмена и параметров выделенного текста
Цель: Получить навыки использования в программе буфера обмена.
Постановка задачи: Создать приложение для использования буфера обмена для обмена данными между текстовым окном и комбинированным списком, а также для вставки рисунка, созданного в Paint в окно рисунка.
Порядок выполнения:
Откройте новый проект
Добавить на форму следующие объекты и установить для них свойства:
-
Комбинированный список
Name
cboList
Графическое окно
Name
picMyPic
Текстовое окно
Name
TxtEdit
Набрать код процедуры обработки события Load для объекта Form:
'Заполним комбинированный список
cboList.AddItem "Телефон"
cboList.AddItem "Рыба"
cboList.AddItem "Звонок"
Набрать код процедуры обработки события GotFocus для объекта picMyPicture :
'Изменим тип границы окна рисунка при помещении 'на него фокуса
picMyPicture.BorderStyle = 1
Набрать код процедуры обработки события LostFocus для объекта :picMyPicture
'Изменим тип границы окна рисунка при "потере" им фокуса.
picMyPicture.BorderStyle = 0
Набрать код процедуры для пункта Копировать
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
Набрать код процедуры для пункта Вырезать:
'Выполним процедуру 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
Набрать код процедуры для пункта Вставить:
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
Проверить работу программы, для этого:
загрузите программу;
сверните ваше приложение;
в редакторе Paint создайте рисунок и скопируйте его в буфер обмена;
разверните ваше приложение, вставьте рисунок в окно рисунка (оно должно быть выделено).
Приложение позволяет также копировать, вырезать, вставлять текст в (из) текстовое окно, комбинированный список. Поэкспериментируйте.
Сохраните проект.
