
- •Лекция № 1. Интегральная среда Delphi. Окна Delphi.
- •1. Среда Delphi. Главное окно.
- •2. Окно Инспектора объектов, Конструктора формы и Редактора кода.
- •Лекция № 2. Характеристика проекта. Компиляция и выполнение проекта.
- •1. Характеристика проекта Delphi.
- •2.Компиляция и выполнение проекта
- •Лекция № 3. Библиотека компонентов (vcl). Понятие класса и объекта.
- •1. Организация библиотеки компонентов
- •2. Понятие класса. Элементы класса.
- •Свойства
- •События
- •Лекция № 4. Общие свойства визуальных компонентов. События, методы. Обращение к объектам.
- •1. Основные общие свойства компонентов.
- •2. Основные общие методы компонентов.
- •3.Обращение к объектам.
- •Основные события.
- •Лекция № 5. Визуальные компоненты для отображения текстовой информации. Основные свойства компонентов.
- •Отображение текста
- •Лекция № 6. Визуальные компоненты для редактирования многострочных данных. Основные свойства компонентов.
- •1. Многострочный редактор
- •2.Общие элементы компонентов редактирования
- •Лекция № 7. Визуальные компоненты: работа со списками: простой, комбинированный. Основные свойства компонентов.
- •1.Работа со списками.
- •2.Комбинированный список
- •3.Общая характеристика списков
- •4.Другие характеристики списков
- •Лекция № 8. Компоненты-кнопки. Переключатели. Основные свойства компонентов.
- •Виды кнопок, используемые компоненты и их свойства.
- •2. Виды переключателей, используемые компоненты и их свойства.
- •Лекция № 9. Визуальные компоненты-контейнеры. Компоненты-закладки. Основные свойства компонентов.
- •1. Основные компоненты, используемые для объединения других компонентов.
- •Лекция № 10. Компоненты для редактирования данных в табличной форме.
- •Лекция № 11. Визуальные компоненты для изменения числового значения в заданном диапазоне. Визуальные компоненты для выбора дат. Основные свойства компонентов.
- •Визуальные компоненты для изменения числового значения в заданном диапазоне.
- •2.Визуальные компоненты для выбора дат.
- •Лекции № 12-13. Форма как Delphi-компонент. Жизненный цикл формы. Отображение формы. Управление доступом к форме. Особенности визуального проектирования форм.
- •1.Форма
- •2.Характеристики формы. Свойства
- •3.Характеристики формы. Методы.
- •4.Характеристики формы. События
- •5.Взаимодействие форм.
- •6.Шаблоны форм.
- •Лекции № 14-15. Главное и контекстное меню. Пункты меню, их свойства. Конструктор меню, настройка меню. Комбинации клавиш.
- •1.Главное и контекстное меню.
- •2.Пункты меню, их свойства, события.
- •3.Конструктор меню, настройка меню. Комбинации клавиш.
- •Лекция № 16. Использование диалоговых компонентов.
- •Лекция № 17. Компоненты-индикаторы. Компоненты для отображения геометрических фигур.
- •Компоненты-индикаторы.
- •Компоненты для отображения геометрических фигур.
- •Лекция № 18. Вывод сложной графической информации.
- •Лекция № 19. Создание элементов справочной системы. Создание строки состояния. Создание подсказок.
- •1. StatusBar (Строка состояния).
- •2. Использование в Delphi подсказок
- •Лекция № 20. Создание заставки, информационных окон.
- •1. Создание заставки.
- •Лекция № 21. Понятие и назначение dll-библиотек. Создание dll-библиотек. Использование dll-библиотек.
- •Создание dll-библиотек.
- •Использование dll-библиотек.
- •Лекция № 22. Понятие исключительной ситуации. Обработка исключений.
- •1. Понятие исключительной ситуации.
- •Обработка исключений.
- •Список использованных источников
- •Содержание
1. Основные компоненты, используемые для объединения других компонентов.
Контейнер – это визуальный компонент, который позволяет размещать на своей поверхности другие компоненты, объединяет их и становится их владельцем.
Контейнерами для других компонентов могут служить такие компоненты как Form, Panel, GroupBox, RadioGroup, ScrollBox.
К
омпонент
RadioGroup
(Объединение переключателей).
Для объединения зависимых переключателей в группу используется компонент – RadioGroup (вкладка Standard). Такая группа создана для упорядочения переключателей RadioButton и упрощения организации их взаимодействия. Но он может содержать и другие элементы, такие как Edit, Label, CheckBox и т.д.
Свойства компонента RadioGroup:
Caption типа TString - задает заголовок группы.
Items типа TString - содержит массив строк, отображаемых как заголовки переключателей. Нумерация строк начинается с нуля. С помощью этого свойства можно управлять количеством и названиями переключателей. Для добавления и удаления элементов из массива строк можно воспользоваться методами Add и Delete.
ItemIndex типа Integer определяет номер переключателя, выбранного в группе в данное время (нумерация начинается с 0). Если свойство принимает значение=-1, то в радиогруппе не выбран ни один переключатель.
Columns типа Integer задает число колонок на которые делятся переключатели в группе.
П
рограммно
эти же свойства можно задать следующим
образом:
Пусть требуется динамически разместить в радиогруппе 6 переключателей, расположенных в 2 столбца, и сделать 5-ый переключатель выбранным, как показано на рисунке выше.
Обработчик для этих действий будет таким:
К
омпонент
GroupBox(
Группа) (вкладка Additional)
– рамка с заголовком. Этот компонент
служит контейнером для размещения
дочерних компонентов и представляет
собой прямоугольное окно с рамкой и
текстом в разрыве рамки. Обычно с его
помощью выделяется группа управляющих
элементов, объединенных по функциональному
назначению. Свойство Caption
задает заголовок рамки.
К
омпонент
Panel (вкладка
Additional) – панель применяется в
качестве средства группирования, а
также для создания панелей инструментов
и строк состояния. В отличие
от TGroupBox он не имеет заголовка и поэтому
менее удобен для функционального
группирования элементов. С другой
стороны, его свойство Caption отображается
в виде текстовой строки и может
использоваться для вывода сообщений.
Свойства
компонента Panel:
Caption определяет заголовок панели.
Alignment управляет расположением заголовка панели.
Компонент имеет развитые средства создания различных эффектов трехмерности за счет использующихся в нем двух кромок - внешней и внутренней.
BevelWidth – определяет ширину каждой фаски в пикселах;
BevelInner – определяет вид внутренней фаски;
BevelOuter – определяет вид внешней фаски;
BorderWidth – определяет промежуток между фасками в пикселах.
К
омпонент
ScrollBox (Область
прокрутки) (вкладка Additional)
представлен окном с возможностью
прокрутки информации. Если какой-либо
элемент в этом окне виден не полностью,
то появляются полосы прокрутки:
вертикальная и горизонтальная.
Свойства компонента ScrollBox:
Align – выравнивание области прокрутки внутри контейнера. Чтобы область прокрутки занимала все место формы необходимо свойству Align установить значение clClient.
ScrollInView – автоматически изменяет позиции полос прокрутки, чтобы интересующий компонент появился в видимой области.
AutoScroll типа Boolean определяет, появляются ли полосы прокрутки автоматически при необходимости. Если свойство имеет значение True, то полосы появляются автоматически.
Компонент TabControl (Одностраничный блокнот)
Компонент Delphi TabControl (Одностраничный блокнот) (вкладка Win32) внешним видом представляет прямоугольную область (одна страница) с управляющими элементами типа кнопки. При выборе какой либо кнопки, происходят события OnChanging и OnChange, в которых программируется дальнейшее действие приложения.
О
сновное
свойство компонента TabControl - Tabs
типа TStrings, в этом свойстве находятся
названия всех кнопок (вкладок). Для
формирования нажимаем на кнопку с
многоточием напротив Tabs в Инспекторе
объектов. И в редакторе строк пишем
необходимые заголовки, одна строка -
один заголовок вкладки (кнопки).
П
ри
работе приложения изменять и создавать
заголовки вкладок можно также как и с
любыми объектами TStrings:
TabControl.Tabs[0] := 'Новая закладка'; // изменяет первый заголовок.
TabControl.Tabs.Delete(3); // удаляется четвертая закладка
TabControl.Tabs.Add('Новая закладка'); // добавляется новая закладка.
Нумерация элементов начинается с нуля.
Компонент TabControl имеет несколько стилей отображения, свойство Style:
стандартные вкладки (по умолчанию) - tsTabs,
вкладки в виде кнопок -tsButtons,
вкладки в виде плоских кнопок - tsFlatButtuns.
Если вкладки имеют внешний вид кнопок, то у компонента TabControl нет ограничительной рамки и при необходимости необходимо применять другие визуальные компоненты на подобии Bevel или Panel, также данные стили позволяют делать множественный выбор закладок, при установленном свойстве MultySelect в TRUE.
Для стиля tsTabs можно определить расположения вкладок, задав в свойство TabPosition:
вверху (по умолчанию) - tpTop,
внизу - tpBottom,
слева - tpLeft,
справа - tpRight.
Свойства TabWidth и TabHeight задают размеры вкладок в пикселах, по умолчанию они равны 0, благодаря чему размеры автоматически принимают размеры заголовка.
Свойство TabIndex (целочисленное) указывает выбранную закладку (вкладку). Это свойство доступно для чтения и записи и может быть использовано для для программного переключения между вкладками. Для переключения на третью вкладку нужно записать такой код:
TabControl1.TabIndex := 2;
Если ни одна из вкладок не выбрана то Свойство TabIndex будет равно -1, это произойдет, например, при динамическом удалении вкладки.
Заголовок вкладки (закладки) может слегка подсвечиваться, если над ним будет указатель мыши. За это отвечает свойство HotTrack типа Boolean.
Н
а
вкладках также могут содержаться и
небольшие картинки. Для этого необходимо
поместить на форму компонент ImageList
и в инспекторе объектов для компонента
TabControl указать откуда брать рисунки (см.
рис.). И рисунки будут добавлены согласно
их нумерации: нулевой рисунок к нулевой
вкладке, первый рисунок к первой вкладке
и так далее.
Компонент PageControl (многостраничный блокнот)
К
омпонент
Delphi PageControl (многостраничный
блокнот) (вкладка Win32) является
более сложным элементом управления,
чем компонент Delphi TabControl, хотя они имеют
довольно много общих свойств. PageControl может
содержать несколько панелей класса
TTabSheet, которые будут перекрывать друга.
Переход на другую панель (страницу)
осуществляется щелчком мыши в области
заголовка страницы.
На этапе конструирования, чтобы добавить новую панель (страницу) необходимо нажать правую кнопку на компоненте и выбрать из контекстного меню пункт "New Page". Delphi создаст новую страницу с именем TabSheet1, ее можно переименовать, изменив свойство Caption в "Инспекторе объектов" объекта TabSheet (нужно проконтролировать, чтобы при выделении маркеры не затрагивали области заголовков компонента PageControl). Для удаления панели используем пункт меню - "Delete Page". Пункты меню "Next Page" и "Previouse Page" позволяют переходить на следующую и предыдущую страницы.
У компонента PageControl имеется два основных события OnChange и OnChanging. Событие OnChange происходит сразу при переключении. А OnChangeing происходит перед переходом на другую страницу после клика на новой закладке. При этом учитывается параметр AllowChange, если его задать равным FALSE, то переход не осуществиться.
Процедура SelectNextPage(GoForward: Boolean) задает активной следующую панель, при GoForward равном TRUE и предыдущую, если GoForward равно FALSE.
Свойство PageCount сообщает количество страниц (только для чтения).
Свойство ActivePage – выбор активной страницы (TabSheet) .
Свойство MultiLine – расположение закладок в несколько рядов.
ПРИМЕР: