- •Введение
- •Общие указания к выполнению практических работ
- •Практическая работа №1
- •Теоретическая часть
- •Пример выполнения задания
- •Задание:
- •Спецификация программы:
- •Постановка задачи:
- •Блок-схема алгоритма программы
- •Варианты заданий
- •Контрольные вопросы
- •Практическая работа №2
- •Теоретическая часть
- •Методы стратегии ‘белого ящика’
- •Метод покрытия операторов
- •Метод покрытия решений (покрытия переходов)
- •1.3 Метод покрытия условий
- •1.4 Критерий решений (условий)
- •1.5 Метод комбинаторного покрытия условий
- •Порядок выполнения практической работы
- •Контрольные вопросы
- •Практическая работа №3
- •Теоретические часть
- •Задание 1
- •Задание 2
- •Контрольные вопросы
- •Практическая работа №6
- •Описание практической работы Теоретические сведения
- •Операторы обнаружения и обработки исключений
- •Задание 1
- •Задание 2
- •Задание 2
- •Контрольные вопросы
- •Практическая работа №8
- •Описание лабораторной работы Задание 1
- •Задание 2
- •Методы компонента tMemo
- •Задание 1
- •Задание 2
- •Задание 3
- •Контрольные вопросы
- •Практическая работа №10
- •Теоретическая часть
- •Класс Tstrings
- •Задание 1
- •Задание 2
- •Задание 3
- •Основные свойства компонента StringGrid
- •Описание лабораторной работы Задани 1
- •Задание 2
- •Задание 1
- •Контрольные вопросы
- •Практическая работа №13
- •Теоретическая часть
- •Описание лабораторной работы
- •Контрольные вопросы
- •Практическая работа №14
- •Теоретическая часть RadioGroup, RadioButton и GroupBox - группы радиокнопок
- •Свойства компонента CheckBox
- •Свойства компонента RadioButton
- •Button и BitBtn - управляющие кнопки
- •Свойства компонента BitBtn
- •Задание 1
- •Свойства компонента SpeedButton
- •Компонент UpDown
- •Описание лабораторной работы Задание 1
- •Задание 2
- •Задание 3
- •TrackBar и ScrollBar - ползунки и полосы прокрутки
- •Контрольные вопросы
- •Практическая работа №15
- •Теоретические сведения
- •Описание лабораторной работы Задание 1
- •Задание 2
- •Задание 3
- •Задание 4
- •Панели общего назначения — компоненты Panel, GroupBox, Bevel, Splitter
- •Задание 1
- •Задание 2
- •Компонент PageControl
- •Задание 3
- •Задание 4
- •Контрольные вопросы
- •Практическая работа №17
- •Теоретические сведения
- •Описание практическая работы Задание 1
- •Контрольные вопросы
- •Практическая работа №18
- •Теоретические сведения Компонент MainMenu - главное меню
- •Описание лабораторной работы Задание 1
- •Контрольные вопросы
- •Практическая работа №19
- •Теоретические сведения Стандартные диалоги и их фрагменты
- •Задание 1
- •Задание 2
- •Задание 3
- •Контрольные вопросы
- •Практическая работа №20
- •Теоретические сведения
- •I способ
- •II способ
- •Свойства компонента TreeViewl
- •Задание
- •Контрольные вопросы
- •Практическая работа №21
- •Теоретические сведения Компонент tImage
- •Задание 1
- •Ход выполнения
- •Задание 2
- •Ход выполнения
- •Задание 3
- •Задание 4
- •Задание 1
- •Задание 3
- •Задание 4
- •Контрольные вопросы
- •Практическая работа №23
- •Теоретические сведения
- •Практическая работа №24
- •Теоретические сведения Компонент построения графиков и диаграмм Chart
- •Свойства компонента Chart
- •Задание 1
- •Задание 2
- •Контрольные вопросы
- •Практическая работа №25
- •Прием перетаскиваемых объектов
- •Задание 1
- •Контрольные вопросы
Компонент PageControl
Многостраничные панели позволяют экономить пространство окна приложения, размещая на одном и том же месте страницы разного содержания. Компонент PageControl находится на Палитре Компонентов на странице Win32.
Для создания новой страницы используется команда New Page всплывающего меню, которое появляется по щелчку правой кнопки мыши на компоненте PageControl, перенесенного на форму.
Каждая создаваемая вами страница является объектом типа TTabSheet. Это панель, на которой можно размещать любые управляющие компоненты, окна редактирования и т.п. После того, как вы создадите несколько страниц, выделите одну из них, щелкнув ее в середине, и посмотрите ее свойства в Инспекторе Объектов. Страница имеет следующие основные свойства:
Значение |
Описание |
Name |
Имя, по которому можно ссылаться на страницу. |
Caption |
Надпись, которая появляется на ярлычке закладки. |
Pagelndex |
Определяет номер (индекс) данной страницы в компоненте PageControl. Первая страница имеет индекс 0. При удалении или переме-щении страниц значения PageIndex автома-тически изменяются, образуя непрерывную последовательность номеров. |
Imagelndex |
Индекс изображения, которое может появляться на ярлычке закладки. |
Style |
Определяет стиль отображения компонента: tsTabs - закладки, tsButtons - кнопки, tsFlatButtons - плоские кнопки. |
HotTrack |
Если свойство принимает значение True, названия страниц выделяются другим цветом при перемещении над ним указателя мыши. |
MultiLine |
Определяет, будут ли закладки размещаться в несколько рядов, если все они не помещаются в один ряд. |
TabPosition |
Определяет место расположения ярлычков закладок: tpBottom - внизу, tpLeft - слева, tpRight - справа и tpTop - вверху компонента (это значение по умолчанию). |
TabHeight, TabWidth |
Высота и ширина ярлычков закладок в пикселах. Если значения этих параметров заданы равными 0, то размеры ярлычков опеделяются автоматически по размерам надписей на них. |
RaggedRight |
Изменяет ширину закладок таким образом, чтобы они занимали всю сторо-ну блокнота. |
Images |
Ссылка на компонент ImageList, который содержит список изображений на ярлычках. Свойства Imagelndex страниц содержат индексы, соответствующие именно этому списку. |
ScrollOpposite |
Определят способ перемещения закладок при размещении их в несколько рядов. |
ActivePage |
Имя активной страницы. |
Pages [int Index] |
Доступ к странице по индексу (первая страница имеет индекс 0). Свойство только для чтения. |
PageCount |
Количество страниц. Свойство только для чтения. |
TabVisible |
При значении равном False данная страница в блокноте становится невидимой. |
В компоненте имеется ряд методов, позволяющих оперировать страницами, создавать их, уничтожать, переключать. Основные события компонента OnChanging и OnChange. Первое из них происходит непосредственно перед переключением на другую страницу после щелчка пользователя на новой закладке. При этом в обработчике события передается по ссылке параметр AllowChange - разрешение переключения. Если в обработчике задать AllowChange = false, то переключение не произойдет. Событие OnChange присходит сразу после переключения.
Для сокрытия закладки в компоненте TPageControl воспользуйтесь следующим кодом:
PageControl1->Pages[1]->TabVisible = false;
где PageControl1 - ваш компонент TPageControl, расположенный на форме. Данный код скрывает закладку с индексом 1. Для сокрытия другой закладки вместо единицы должен стоять соответствующий индекс.
Код для проверки номера активной вкладки.
void __fastcall TForm1::PageControl1Change(TObject *Sender)
{
switch (PageControl1->ActivePageIndex) {
case 0:
ShowMessage("It's the first page.");
break;
case 1:…
Количество вкладок:
PageControl1->PageCount
Перебрать все вкладки:
for (int i = 0; i < PageControl1->PageCount; i++) {
PageControl1->Pages[i]-> // действия, которые нужны вам...
}
