PictureBox
(контейнер с изображением) для создания эффекта анимации.
Урок по созданию анимации с использованием элементов Visual c++ Timer и PictureBox
Целью данной практической работы является ознакомление с объектом PictureBox
(контейнер с изображением) для создания эффекта анимации.
Инструментарий:
объект | свойство name |
---|---|
форма | |
контейнер для картинки (PictureBox) | pct |
кнопка (button) | btnStart |
кнопка (button) | btnExit |
таймер (timer) | tmr |
Выполнение:
Для отображения в Visual c++ фото и изображений любого формата используется объект PictureBox.
- Создайте новый проект и расположите на новой форме элементы управления PictureBox (назовите его pct) и два элемента Button: btnStart и btnExit, как показано на рисунке. Создайте также объект Timer (tmr), который будет передвигать PictureBox через определенные промежутки времени.
Элемент управления Timer скрытый, он появляется ниже дизайна формы.
- В окне свойств объекта картинки выберите свойство Image и в открывшемся диалоговом окне выберите любой файл картинки.
- Для того чтобы PictureBox перемещался вправо, необходимо увеличивать его свойство Left – координату левого края. Поэтому запрограммируйте событие Tick объекта Timer следующим образом:
private: System::Void tmr_Tick(…) { this->pct->Left= this->pct->Left+20; } |
- Теперь необходимо запустить Таймер. Это можно сделать нажатием кнопки Старт. Поместите следующий код в обработку события Click кнопки Старт:
private: System::Void btnStart_Click(…) { this->tmr->Enabled=true; // запускаем таймер this -> tmr->Interval=50; // устанавливаем интервал таймера в 50 миллисекунд } |
Комментарии в C++ можно задавать после двойного символа слэш (//). Среда редактирования раскрасит их в зеленый цвет.
- Запустите и отладьте приложение. Сохраните его.
Измените приложение так, чтобы при первом нажатии на кнопку Старт графическое окно начинало двигаться, а при повторном – останавливалось. При этом должна меняться надпись на кнопке: Старт – при запуске, Стоп – при остановке.
Примечание: для реализации задачи понадобится оператор Visual c++ If
- Каково основное назначение элемента управления языка Visual c++ PictureBox?
- Для чего используется элемент управления Timer при создании анимации?
- Какое свойство PictureBox необходимо изменить для того, чтобы переместить этот элемент управления по вертикали?