- •Объектно-ориентированное программирование
- •Оглавление
- •Лабораторная работа №1 Простой диалог Цель работы
- •Методические указания
- •1. Добавление нового компонента
- •2. Метка Label (страница Standard)
- •3. Окно редактирования Edit (страница Standard)
- •4. Кнопки Button, BitBtn (страницы Standard, Additional)
- •5. Компонент CheckBox (страница Standard)
- •6. Компоненты GroupBox, RadioButton (страница Standard)
- •7. Компонент ComboBox (страница Standard)
- •Пример выполнения задания
- •Int a, b, c; //стороны
- •Задания
- •Лабораторная работа №2 Управляющие компоненты Цель работы
- •Методические указания
- •1 . Компонент Timer (страница System)
- •If (!Str.IsEmpty()) // Если строка не пуста
- •2. Компонент PageControl (страница Win32)
- •3 . Компонент DateTimePicker (страница Win32)
- •4 . Компонент TrackBar (страница Win32)
- •5 . Компонент UpDown (страница Win32)
- •Задания
- •Лабораторная работа №3 Проектирование меню Цель работы
- •Методические указания
- •1 . Многострочные окна редактирования Memo (страница Standart) и RichEdit (страница Win32)
- •2. Создание меню с помощью мастера
- •3. Компоненты MainMenu и РоpupMenu (панель Standart)
- •4. Проектирование меню с помощью Конструктора Меню
- •5. Организация отклика на вызов пункта меню
- •6. Диалоги как модальные формы
- •7. Создание диалогового окна с помощью шаблона
- •8. Вызов диалогового окна пунктом меню
- •9. Прием введенных значений из диалогового окна в основное окно приложения
- •Задания
- •Лабораторная работа №4 Компоненты отображения данных. Вызов стандартных диалогов Цель работы
- •Методические указания
- •1. Компонент ImageList (страница Win32)
- •2. Компонент TreeView (страница Win32)
- •Int NomZach; // номер зачетной книжки
- •Int Shit; //номер читательского билета
- •3. Компонент ListView (страница Win32)
- •4. Компонент OpenDialog (страница Dialogs)
- •5. Компонент FontDialog (страница Dialogs)
- •6. Компонент ColorDialog (страница Dialogs)
- •Задания
- •Лабораторная работа №5 Подготовка справочной системы Цель работы
- •Методические указания
- •1. Создание текстового файла разделов (*.Rtf)
- •Сноска #
- •Сноска к (заглавная латинская буква)
- •2. Создание файла содержания (*.Cnt)
- •3. Создание файла проекта
- •4. Подключение справочной системы к приложению
- •Задание
- •Библиографический список
Лабораторная работа №2 Управляющие компоненты Цель работы
Научиться использовать управляющие компоненты.
Рассматриваемые компоненты: Timer, PageControl, DateTimePicker, TrackBar, UpDown, ProgressBar.
Методические указания
1 . Компонент Timer (страница System)
Таймер - это невизуальный компонент, который используется для запуска процедур, функций и событий в указанные интервалы времени.
Основные свойства:
Interval – интервал времени в миллисекундах.
Enabled – управление работой таймера (используется для запуска/остановки таймера)
true – таймер запущен
false – таймер остановлен
Эти свойства можно менять в процессе проектирования в окне Инспектора Объектов и в процессе выполнения программы.
Основное событие:
OnTimer – выполняется при истечение времени, указанного в свойстве Interval
Пример. В качестве примера создадим бегущую строку.
Определим строку, которую будем использовать в качестве бегущей, как глобальную переменную типа AnsiString. Описать глобальную переменную нужно в заголовочном модуле формы (с расширением «.h»), а определить – в основном модуле формы (имеющим расширение «.cpp»). Чтобы быстро открыть заголовочный модуль можно использовать сочетание клавиш <Ctrl>+F6.
Если программа называется Name:
Для описания глобальной переменной типа AnsiString нужно в заголовочный модуль (файл Name.h) дописать:
extern AnsiString Str;
Для определения - в основном модуле (файл Name.cpp) вне функций написать:
AnsiString Str=”Это пример бегущей строки……….”;
Строка будет располагаться в окне редактирования Edit. Чтобы сделать строку бегущей, надо использовать таймер. Для этого на форме надо разместить компонент Timer и задать его свойства
Interval = 100
Enabled = true
В обработчик события OnTimer (вызвать ее можно двойным щелчком на компоненте Timer) вставить операторы, осуществляющие циклический сдвиг строки:
void __fastcall TForm1::Timer1Timer (TObject *Sender)
{ Edit1->Clear();
If (!Str.IsEmpty()) // Если строка не пуста
{ Edit1->Text = Str; char first = Str[1];
for (int i=1; i < Str.Length(); i++) //Циклический сдвиг строки
Str[i] = Str[i+1]; //на один символ влево
Str[Str.Length()] = first;} }
Теперь каждый раз по истечении 100 миллисекунд (0,1 сек) строка в окне редактирования Edit будет циклически сдвигаться влево, т.е. это будет бегущая строка.
2. Компонент PageControl (страница Win32)
P
ageControl
- многостраничная панель, которая
позволяет экономить пространство окна
приложения, размещая на одном и том
же месте страницы разное содержание.
Properties
ActivePage - содержит указатель типа TTabSheet на активную страницу
PageCount - число страниц, помещенных на панели (доступно только программно)
Чтобы задавать и редактировать страницы этого компонента, надо щелкнуть на нем правой кнопкой мыши. Во всплывшем меню вы можете видеть команды:
New Page — создать новую страницу
Next Page — переключиться на следующую страницу
Previous Page — переключиться на предыдущую страницу
Delete Page —удалить страницу
Каждая страница является объектом типа TTabSheet. Это панель, на которой можно размещать любые компоненты. Кроме того каждая страница обладает своими свойствами:
Caption - надпись для страницы
TabVisible - отвечает за видимость вкладки
Для рассматриваемого примера можно использовать многостраничную панель для экономии места на форме. Например, на этом компоненте можно создать 3 страницы, называющихся (надписанных) так: «Текст», «Скорость», «Размер шрифта». На каждой странице будем помещать управляющие элементы, отвечающие за соответствующие параметры бегущей строки.
