- •Федеральное агентство по образованию государственное образовательное учреждение
- •Кафедра автоматики и телемеханики интегрированная среда разработки приложений
- •Лабораторная работа 1 Ознакомление с Интегрированной Средой Разработки (иср)
- •Основное окно иср
- •Библиографический список
- •Лабораторная работа 2 Формы и компоненты Включение в проект новой формы
- •Размещение компонентов на форме
- •Депозитарий – хранилище форм и проектов
- •Задание 7. Опробовать режимы заимствования форм из Депозитария
- •Библиографический список
- •Лабораторная работа 3 Отладка приложений Компиляция и компоновка проекта
- •Сообщения компилятора и компоновщика
- •Действия в случае ошибки выполнения
- •Дальнейшие действия
- •Окно наблюдения Список Часов
- •Окно оценки и модификации Оценить|Изменить
- •Пошаговое выполнение приложения
- •Точки прерывания
- •Использование окна Инспектора Отладки
- •Другие средства отладки
- •Библиографический список
- •Лабораторная работа 4 Компоненты ввода и отображения текстовой информации
- •Компоненты Label, StaticText, Panel
- •Компоненты Edit, LabeledEdit, MaskEdit
- •Компоненты Memo, RichEdit
- •Компоненты ListBox, CheckListBox, ValueListEditor
- •Компонент StringGrid
- •Библиографический список
- •Лабораторная работа 5 Диаграммы и графики Компонент Chart
- •Компонент Image
- •Формирование квадратных матриц
- •Кнопки, индикаторы, управляющие элементы
- •Управляющие кнопки Button и BitBtn
- •Кнопка с фиксацией SpeedButton
- •Группы радиокнопок − компоненты RadioGroup, RadioButton и GroupBox
- •Индикаторы CheckBox и CheckListBox
- •Ползунки и полосы прокрутки − компоненты TrackBar и ScrollBar
- •Заголовки − компоненты HeaderControl и Header
- •Таймер − компонент Timer
- •Панели и компоненты внешнего оформления
- •Панели общего назначения − компоненты Panel,
- •Многостраничные панели − компоненты TabControl,
- •Инструментальные панели − компоненты ToolBar и PageScroller
- •Перестраиваемые панели − компоненты CoolBar и ControlBar
- •Библиографический список
- •Лабораторная работа 9 Системные диалоги
- •Диалоги открытия и сохранения файлов – компоненты
- •Фрагменты диалогов – компоненты
- •Диалог выбора шрифта – компонент FontDialog
- •Диалоги выбора цвета – компоненты ColorDialog, ColorBox
- •Диспетчеризация действий на основе компонента ActionList
- •Диспетчеризация действий на основе компонентов ActionManager, ActionMainMenuBar, ActionToolBar, CustomizeDlg
- •Библиографический список
Многостраничные панели − компоненты TabControl,
PageControl, TabSet, TabbedNotebook, Notebook
Многостраничные панели позволяют экономить пространство окна приложения, размещая на одном и том же месте страницы разного содержания.
Перенесите компонент PageControl на форму. Чтобы задавать и редактировать страницы этого компонента, щелкните на нем правой кнопкой мыши. Во всплывшем меню имеются команды: Новая страница − создать новую страницу, Следующая страница − переключиться на следующую страницу, Предыдущая страница − переключиться на предыдущую страницу. Каждая создаваемая страница является объектом типа TTabSheet. Это панель, на которой можно размещать любые управляющие компоненты, окна редактирования и т.п.
Создайте 3-4 страницы, размещая на них компоненты RichEdit, Memo, Panel, GroupBox. Затем выделите одну из страниц и просмотрите ее свойства в Инспекторе Объектов. Страница имеет следующие основные свойства:
Name |
Имя, по которому можно ссылаться на страницу |
Caption |
Надпись, которая появляется на ярлычке закладки |
PageIndex |
Индекс страницы, по которому можно ссылаться на страницу |
ImageIndex |
Индекс изображения, которое может появляться на ярлычке закладки |
Общие свойства компонента PageControl таковы:
Style |
Определяет стиль отображения компонента: tsTabs − заклад-ки, tsButtons − кнопки, tsFlatButtons − плоские кнопки |
MultiLine |
Определяет, будут ли закладки размещаться в несколько рядов, если все они не помещаются в один ряд |
TabPosition |
Определяет место расположения ярлычков закладок: tpBottom − внизу, tpLeft − слева, tpRight − справа и tpTop − вверху компонента (значение по умолчанию) |
TabHeight и TabWidth |
Высота и ширина ярлычков закладок в пикселах. Если значе-ния этих параметров заданы равными 0, то размеры ярлыч-ков определяются автоматически по размерам надписей на них |
Images |
Ссылка на компонент ImageList, который содержит список изображений на ярлычках. Свойства ImageIndex страниц содержат индексы, соответствующие именно этому списку |
ScrollOpposite |
Определяет способ перемещения закладок при размещении их в несколько рядов |
ActivePage |
Имя активной страницы |
Pages [int Index] |
Доступ к странице по индексу (первая страница имеет индекс 0). Свойство только для чтения |
PageCount |
Количество страниц. Свойство только для чтения |
В упомянутом выше всплывающем меню есть ряд команд, позволяющих оперировать страницами, создавать их, уничтожать, переключать.
Основные события компонента − OnChanging и OnChange. Первое из них происходит непосредственно перед переключением на другую страницу после щелчка на новой закладке. При этом в обработчик события передается по ссылке параметр AllowChange − разрешение переключения. Если в обработчике задать AllowChange = false, то переключение не произойдет. Событие OnChange происходит сразу после переключения.
Компонент TabControl внешне выглядит так же, как PageControl, и имеет много тех же свойств: Style, MultiLine, TabPosition, TabHeight, TabWidth, Images, ScrollOpposite, те же события OnChanging и OnChange.
Но принципиальное отличие его от PageControl заключается в том, что TabControl не имеет множества панелей (страниц). Компонент представляет собой одну страницу с управляющим элементом типа кнопки со многими положениями. И надо написать соответствующие обработчики событий OnChanging и OnChange, чтобы определить, что именно должно происходить на панели при переключениях закладок пользователем.
У компонента имеется еще одно свойство − MultySelect, позволяющее множественный выбор закладок. Если это свойство установлено в true, то в обработчиках событий надо описать реакцию на такой выбор пользователя.
Число закладок и их надписи определяются свойством Tabs типа TStrings. В нем можно задать надписи закладок. Число закладок будет равно числу строчек надписей.
Текущее состояние переключателя определяется свойством TabIndex. Его можно установить в процессе проектирования, чтобы определить исходное состояние переключателя. А затем в обработчиках событий OnChanging и OnChange можно читать это свойство, чтобы определить, что именно выбрал пользователь.
Применять компонент TabControl рекомендуется в тех приложениях, в которых нужен многопозиционный переключатель.
Компоненты TabSet, TabbedNotebook и Notebook рассматривать не будем, так как они могут быть заменены компонентом PageControl и их не рекомендуется использовать в 32-разрядных приложениях.