Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка ООП.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
713 Кб
Скачать
☆

Лабораторная работа №2

ТЕМА: Работа с формой (сохранение положения и размера формы при повторном запуске Приложения). Компоненты TextBox, Label, Button. Обработчики событий формы, кнопок. Стандартные окна запросов, сообщений.

ЗАДАНИЕ

Задание 1

Написать программу, восстанавливающую при открытии формы следующие свойства: координаты формы (левый верхний угол), размер формы (высота, ширина), текст TextBox1. Сохранять параметры необходимо в той же папке , в файле с таким же именем, как у файла .EXE, но с расширением .INI.

Задание 2

Добавить к предыдущей программе запрос на закрытие формы.

Рекомендации

  1. Используя типизированный файл, при описании переменной типа String необходимо задать ее размер.

  2. Используя свойство ProcessName, можно получить название .EXE-файла. (Например, this->label1->Text=System::Diagnostics:: Process::GetCurrentProcess()->ProcessName+".exe";)

  3. Для запроса на закрытие формы используйте событие FormClosing.

  4. Перед считыванием данных из файла необходимо проверить существование такого файла (при первом запуске Приложения его не существует). Если файл не найден – выход из процедуры.

HANDLE hFind = FindFirstFile(“filename.ini”, &wfd);

if (hFind!=INVALID_HANDLE_VALUE){

//Найден

}

В раздел объявления переменных добавить: WIN32_FIND_DATA wfd;

Задание 3

Дополнить приложение, разработанное по заданиям 1 ,2, следующим образом:

  1. Создать кнопку c надписью Builder. Изменить имя кнопки на ButtonBuilder. По нажатию на эту кнопку должно происходить следующее:

System::Windows::Forms::DialogResult res;

res=MessageBox::Show("A", "Form Closing", MessageBoxButtons::YesNo,MessageBoxIcon::Question);

if (res==IDNO){

label1->Text=L"You chose NO";

}else{

label1->Text=L"You chose Yes";

}

  1. В момент, когда кнопка Builder активна (в фокусе), по нажатию на клавишу Escape должна очиститься метка label1:

if (e->KeyCode==Keys::Escape)

  1. Создать кнопку c надписью Color. Изменить имя кнопки на ButtonColor. По нажатию на эту кнопку должно происходить следующее: появляться запрос об изменении цвета формы на зеленый. Нажатие на кнопку (в окне с запросом) Yes изменяет цвет формы на зеленый, на NO – восстанавливает первоначальный цвет формы. Для создания запроса использовать MessageBox. Окно с запросом должно появляться приблизительно посередине формы.

  2. Создать кнопку Button (Свойство DialogResult = Close). По нажатия на кнопку должно закрываться Приложение.

  3. Создать кнопку Button вида Help. По нажатия на кнопку должно появляться сообщение: Ничего не знаю! . Используйте MessageBox.

  4. Создать обработчики, изменяющие текст заголовка Формы в зависимости от нажатия левой клавиши мыши:

1 нажатие - Еще раз

2 нажатия - Слушаю Вас

Лабораторная работа №3

ТЕМА: Работа с таймером

ОСНОВНЫЕ СВЕДЕНИЯ

Компонент Timer (таймер) служит для отсчета интервалов реального времени. У компонента Timer одно событие – Tick. Оно возникает через равный промежуток времени, заданный в свойстве Interval (в миллисекундах), только если Enabled=True.

ЗАДАНИЕ

Приложение включает 2 формы:

1-я форма – табло

2-я форма – собственная (созданная в Paint) картинка (без заголовка) на весь экран.

По нажатию на кнопку Пуск должно происходить следующее:

Начинается отсчет времени, т.е. на Form1 поочередно с интервалом в 1 секунду появляются цифры:

5 4 3 2 1,

а через 1 сек. После появления цифры 1 появляется Form2.

Через 5 секунд появляется сообщение:

Нажимаем Ok: Form2 закрывается, и мы снова видим Form1 следующего вида:

По нажатию на кнопку Пуск все повторяется.

Добавьте на Form1 в правый нижний угол часы, показывающие текущее время следующим образом:

Сначала 17:05

Через 1 сек. 17 05

Т.е. через каждую секунду «:» будет то появляться, то исчезать.