- •Лабораторный практикум
- •4 Часть
- •Visual Basic. Основы программирования
- •Дмитров 2012
- •Содержание
- •Предисловие
- •Создание меню
- •Редактор меню
- •Отображение контекстного меню
- •Работа с несколькими окнами
- •Стандартные диалоговые окна
- •События, возникающие при работе с клавиатурой
- •События, связанные с фокусом
- •Лабораторно-практические работы лабораторно-практическая работа № 1
- •Лабораторно-практическая работа № 2
- •Лабораторно-практическая работа № 3
- •Лабораторно-практическая работа № 4
- •Лабораторно-практическая работа № 5
- •Лабораторно-практическая работа № 6
- •Лабораторно-практическая работа № 7
- •Лабораторно-практическая работа № 8
- •Лабораторно-практическая работа № 9
- •Лабораторно-практическая работа № 10
- •Лабораторно-практическая работа № 11
- •Лабораторно-практическая работа № 12
- •Лабораторно-практическая работа № 13
- •Задания для самостоятельного выполнения
- •Задание № 6
- •Задание № 7
- •Список использованной литературы
Лабораторно-практическая работа № 6
Тема: События клавиатуры.
Цель: Закрепить навыки использования события KeyDown, KeyUp
Постановка задачи: Разработать приложение, позволяющее перемещать шарик клавишами управления курсором(). Движение возможно только между линиями (для проверки на столкновение с линией использовать уравнение прямой).
Порядок выполнения
Установите на форме следующие объекты и измените им свойства:
-
Объект
Свойство
Значение
Линии
Name
Line1
Name
Line2
Фигура
Name
SSS
Shape
3
BackStyle
1
BackColor
белый
Приведите свою форму в соответствие с образцом
В окне кода процедуры обработки события Loadдля объектаFormнабрать
Form1.KeyPreview = True
В окне кода процедуры обработки события KeyDownдля объектаFormнабрать
'определим текущие координаты
x = sss.Left
y = sss.Top
'определим будущие координаты
If KeyCode = 37 Then 'нажата клавиша
x = x - 50
End If
If KeyCode = 39 Then ‘'нажата клавиша
x = x + 50
End If
If KeyCode = 38 Then ‘'нажата клавиша
y = y - 50
End If
If KeyCode = 40 Then ‘'нажата клавиша
y = y + 50
End If
ys1 = (Line1.Y2 - Line1.Y1) * (x - Line1.X1) / (Line1.X2 - Line1.X1) + Line1.Y1
ys2 = (Line2.Y2 - Line2.Y1) * (x - Line2.X1) / (Line2.X2 - Line2.X1) + Line2.Y1
If y < ys1 Or y > Abs(ys2) - sss.Height Then
MsgBox "Bыход за территорию!", , "Kуда пошел?"
Exit Sub
End If
sss.Move x, y 'движение
Проверьте работу приложения
Измените приложение, ограничив движение шарика прямоугольной зоной (внутри фигуры прямоугольник)
Измените программу так, чтобы при нажатии клавиш шарик становился красным, а когда отпущена – белым.
Измените программу так, чтобы управление шариком осуществлялось клавишами М (влево), И (вверх), Т (вправо) и пробел (вниз)
Результат показать преподавателю
Лабораторно-практическая работа № 7
Тема: События, связанные с клавиатурой
Цель: Закрепить навыки использования события KeyDown, KeyUp
Постановка задачи: Разработать приложение «Колобок», которое
должно работать следующим образом: колобок
постоянно жует, его можно перемещать клавишами управления курсора, кроме этого колобок «смотрит» туда, куда движется.
Порядок выполнения
Загрузите редактор Paint, установите размер рисунка 1 на1 см (Рисунок / Атрибуты))
Создайте 4 рисунка(см. образец) и сохраните их в файлы Колобок1, Колобок2,Колобок3, Колобок4
Загрузите Visual BasicУстановите на форме следующие объекты и измените им свойства
В
Объект
Свойство
Значение
Изображение (Image)
Name
Image1
Picture
Колобок1
Visible
true
Изображение (Image)
Name
Image2
Picture
Колобок2
Visible
False
Изображение (Image)
Name
Image3
Picture
Колобок3
Visible
False
Изображение (Image)
Name
Image4
Picture
Колобок4
Visible
False
Таймер (Timer)
Name
Timer1
Interval
300
Left 1000, Top 1000
В окне кода процедуры обработки события Timer для объекта Timer1 набрать
If Image1.Visible = True Then
Image1.Visible = False
Image3.Visible = True
Exit Sub
End If
If Image2.Visible = True Then
Image2.Visible = False
Image4.Visible = True
Exit Sub
End If
If Image3.Visible = True Then
Image3.Visible = False
Image1.Visible = True
Exit Sub
End If
If Image4.Visible = True Then
Image4.Visible = False
Image2.Visible = True
Exit Sub
End If
В окне кода процедуры обработки события KeyDown для объекта Form набрать
If KeyCode = 39 Then 'вправо
If Image1.Visible = False And Image3.Visible = False Then
Image1.Visible = True
Image2.Visible = False
Image4.Visible = False
End If
Image1.Left = Image1.Left + 100
Image2.Left = Image2.Left + 100
Image3.Left = Image3.Left + 100
Image4.Left = Image4.Left + 100
End If
If KeyCode = 37 Then 'влево
If Image2.Visible = False And Image4.Visible = False Then
Image2.Visible = True
Image1.Visible = False
Image3.Visible = False
End If
Image1.Left = Image1.Left – 100
Image2.Left = Image2.Left - 100
Image3.Left = Image3.Left – 100
Image4.Left = Image4.Left - 100
End If
If KeyCode = 40 Then 'вниз
Image1.Top = Image1.Top + 100
Image2.Top = Image2.Top + 100
Image3.Top = Image3.Top + 100
Image4.Top = Image4.Top + 100
End If
If KeyCode = 38 Then 'вверх
Image1.Top = Image1.Top – 100
Image2.Top = Image2.Top - 100
Image3.Top = Image3.Top – 100
Image4.Top = Image4.Top - 100
End If
Проверьте работу программы