Задание: разработайте приложение, в котором при нажатии на кнопку изображение будет перемещаться по экрану (например, по горизонтали).
Справочный материал
Элемент управления Picture (Графическое окно), размещаемый в форме с помощью кнопки PictureBox на панели элементов управления, может использоваться для следующих целей:
· для отображения графических изображений;
· в качестве контейнера для других элементов управления;
· в виде графического окна для вывода текста, графических элементов, анимации.
Для отображения графических изображений с помощью элемента управления Picture используется свойство Picture, значением которого является наименование графического файла. Для загрузки изображения в объект Picture во время выполнения приложения применяется свойство Picture и функция LoadPicture.
Объект Picture характеризуется свойством AutoSize. Если это свойство имеет значение True, то при изменении размера графического изображения меняются и размеры объекта. При установке значения False усекается не поместившаяся в объект часть изображения.
Ход работы
1 Создайте новый проект и расположите на новой форме элементы управления, как показано на рис. 19. Не забудьте создать элемент управления Timer, ведь он не виден при работе приложения, а именно он будет передвигать PictureBox через определенные промежутки времени.
2 Запрограммируйте самостоятельно кнопку Выход.
3 Загрузите в PictureBox какой-нибудь графический файл (VB поддерживает следующие графические форматы: bmp, gif, jpg, emw, wmf). Для этого задайте свойство Picture элемента управления PictureBox. Желательно, чтобы файл с изображением находился в папке с приложением.
Рис. 19. Конструктор формы
4 Так как PictureBox должен перемещаться по горизонтали, то разместите его слева на форме, как показано на рис. 19.
5 Для того, чтобы PictureBox перемещался, необходимо увеличивать свойство Left – координату левого края элемента управления. Конечно же, это необходимо запрограммировать для события таймера Timer (вспомните занятие № 9), при этом не забудьте, что значение координат измеряется в твипах (универсальная единица измерения):
Private Sub tmrАнимация_Timer()
Picture1.Left = Picture1.Left + 20
End Sub
6 Запустите приложение и попытайтесь сдвинуть картинку с места. Не получилось? Необходимо запустить Таймер при нажатии на кнопку Старт. Для этого поместите следующий код в обработку события Click кнопки Старт:
Private Sub cmdСтарт_Click()
tmrАнимация.Interval = 100
End Sub
7 Запустите и отладьте приложение. Сохраните его.
Дополнительное задание
Исправьте приложение так, чтобы графическое окно не выходило за край формы, а при нажатии на кнопку Старт перемещалось в исходное положение.
Контрольные задания
1 Измените приложение так, чтобы при первом нажатии на кнопку Старт графическое окно начинало двигаться, а при повторном – останавливалось.
2 Измените приложение так, чтобы графическое окно двигалось по вертикали.
3 Измените приложение так, чтобы графическое окно двигалось по кругу.
4 Измените приложение так, чтобы графическое окно двигалось по диагонали из нижнего левого угла в верхний правый.
5 Измените приложение так, чтобы при перемещении графического окна в нем изменялось изображение, т.е. создавалась настоящая анимация.
6 Добавьте Полосу прокрутки для изменения скорости передвижения графического окна.
7 Добавьте Полосу прокрутки для изменения величины шага перемещения графического окна.
8 Измените приложение так, чтобы графическое окно двигалось по периметру формы.
9 Выполните задание 8 и добавьте на форму кнопку для изменения направления движения графического окна (по часовой стрелке или против).
Вопросы для самоконтроля
1 Каково основное назначение элемента управления PictureBox?
2 Каким образом можно изменить его свойство Picture?
3 Для чего используется элемент управления Timer при создании анимации?
4 Какие действия производит функция LoadPicture?
5 Какое свойство PictureBox необходимо изменить для того, чтобы переместить этот элемент управления на экране по вертикали?
6 Каков стандартный префиксу элемента управления PictureBox?
Скачано с www.znanio.ru
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.