- •Целый тип данных
- •Вещественный тип данных
- •Структура программы. Операторы языка
- •Ввод-вывод данных
- •Условный оператор и оператор выбора
- •Перечисляемый тип. Ограниченный тип. Множества
- •Иерархические записи
- •Операторы цикла Оператор цикла с параметром. Операторы цикла итерационного типа
- •Основные принципы ооп
- •Класс, объект
- •Конструкторы и деструкторы
- •Наследование
- •Полиморфизм
- •Визуальное программирование. Среда Делфи
- •Структура проекта. Модули
- •Компоненты. Его свойства и методы
- •Компиляция и сообщение компилятору
- •Линейный алгоритм в среде Делфи
- •20Иерархия классов в Делфи
- •Массивы
- •Создание и работа со списками
- •Управляющие компоненты
- •Переключатели зависимые и независимые
- •Контейнеры
- •Контейнеры. Формы модальные. Диалоговые окна
- •Классы exception
- •Создание главного меню
- •Типизированные файлы
- •Инструменты TabControl PageControl ToolBar CoolBar StatusBar
- •Динамическая структура
- •Форматы графических файлов
- •Основные типы бд. Создание бд
- •Компоненты для создания приложений бд
- •Создание вычисляемых полей и полей выбора
- •Навигационный способ доступа к данным
- •Способы фильтрации
- •Создание и обработка набора данных нескольких таблиц
- •Конструктор отчетов
Управляющие компоненты
Визуальные компоненты (visual components) — это управляющие элементы пользовательского интерфейса (controls), т. е. кнопки, метки, блоки списков и др. Они видны на экране и выглядят одинаково на стадии проектирования и во время работы приложения. В этом их главное достоинство.
УПРАВЛЯЮЩИЕ ЭЛЕМЕНТЫ-ОКНА И РИСУЕМЫЕ УПРАВЛЯЮЩИЕ ЭЛЕМЕНТЫ
Управляющие элементы пользовательского интерфейса подразделяются на управляющие элементы-окна и рисуемые управляющие элементы.
• Управляющие элементы-окна (windowed controls) являются специализированными окнами внутри окна формы. Их самое главное качество — способность получать фокус ввода. К числу управляющих элементов-окон относятся, например, компоненты Button, RadioButton, Checkbox, GroupBox и т. д. Некоторые управляющие элементы такого типа (например, GroupBox, TabControl, PageControl) способны содержать другое управляющие элементы пользовательского интерфейса и называются владельцами (container controls). Отрисовку управляющих элементов-окон выполняет операционная система Windows.
Для профессионалов, имевших дело с Windows API, заметим, что управляющие элементы-окна имеют целочисленное свойство Handle. Благодаря ему обеспечивается связь компонента Delphi с соответствующей структурой данных Windows.
• Рисуемые управляющие элементы (graphical controls) не являются окнами, поэтому не могут получать фокус ввода и содержать другие управляющие элементы. Их отрисовку полностью выполняет Delphi. К числу рисуемых управляющих элементов относятся, например, компоненты Label, SpeedButton, Image, Bevel и т. д. (рис. 5. 30).
Общая классификация компонентов составлена, поэтому перейдем к обсуждению их свойств и событий. Очевидно, каждый компонент обладает специфичным набором свойств и событий и, казалось бы, изучать их следует в контексте изучения компонента. Так мы и будем поступать в будущем при рассмотрении ключевых, т.е. наиболее важных свойств компонентов. Однако сейчас имеет смысл рассмотреть свойства и события, которые были бы общими если не для всех компонентов, то хотя бы для их подмножества.
Невизуальные компоненты практически не имеют общих свойств и событий, единственные общие для них свойства — это Name (комментариев не требует) и Tag (целочисленное значение, не несущее смысловой нагрузки — вы можете использовать его по своему усмотрению). А вот управляющие элементы пользовательского интерфейса имеют много общих свойств и событий, которые мы сейчас и рассмотрим.
ОБЩИЕ СВОЙСТВА УПРАВЛЯЮЩИХ ЭЛЕМЕНТОВ
Местоположение управляющего элемента внутри формы или управляющего элемента владельца определяется значениями свойств Left и Тор. Горизонтальный и вертикальный размеры управляющего элемента хранятся в свойствах Width и Height соответственно.
Свойство Caption содержит заголовок управляющего элемента. Установленная в свойстве текстовая строка может содержать управляющий символ амперсанд (&). Если в строке встречается амперсанд, то следующий за ним символ отображается подчеркнутым (амперсанд при этом не отображается) и называется символом-сокращением. Нажимая клавишу с изображением символа в сочетании с клавишей Alt, пользователь может активизировать управляющий элемент с помощью клавиатуры.
Свойство Color определяет цвет управляющего элемента. Управляющий элемент может иметь независимый цвет, а может брать его у своего владельца (формы или другого компонента). Это определяется значением свойства ParentColor. Если свойство ParentColor имеет значение True, то изменение цвета владельца, например формы, автоматически приводит к изменению значения свойства Color управляющего элемента, например кнопки. Однако, если вы сами установите свойство Color, то свойство ParentColor автоматически получит значение False и цвет управляющего элемента станет независимым.
Свойство Ctl3D определяет, какой внешний вид имеет управляющий элемент: рельефный (говоря на жаргоне — 3-мерный) или плоский. Если свойство имеет значение True, то управляющий элемент имеет рельефный вид, а если False, — то плоский. Свойство рельефности управляющего элемента может зависеть от рельефности его владельца (формы или другого компонента), что определяется значением свойства ParentCtl3D. Если свойство ParentCtl3D имеет значение True, то изменение рельефности владельца, например формы, автоматически приводит к изменению значения свойства C113D управляющего элемента, например кнопки. Однако, если вы сами установите свойство C113D, то свойство ParentCtl3D автоматически получит значение False и рельефность управляющего элемента станет независимой. Заметим, что в Windows 95 и Windows NT 4. 0 значение свойства Ctl3D не играет роли, так как управляющие элементы сразу имеют рельефный вид.
Свойство Cursor определяет, какое изображение принимает курсор мыши, когда пользователь переводит его на управляющий элемент. Возможны следующие значения свойства:
crAppStart,crArrow,crCross,crDefault,crDrag,crHelp,crHourGlass,crHSpilt,crlBeam,
crMultiDrag,crNo,crNoDrop,crSizeNESW,crSizeNS,crSizeNWSE,crSizeWE,crSQLWait,crUpArrow,
crVSpilt.
Свойство DragCursor определяет вид курсора мыши, когда управляющий элемент является пунктом назначения в операции буксировки. Список возможных значений этого свойства такой же, как и у свойства Cursor (см. табл. выше).
Свойство Drag Mode определяет режим буксировки управляющего элемента. Если в свойстве установлено значение dmManual (принято по умолчанию), то буксировка должна инициироваться программно. Если же в свойстве установлено значение dmAutomatic, то управляющий элемент уже готов к буксировке, пользователю достаточно просто нажать кнопку мыши в момент, когда курсор находится над элементом и отбуксировать его в нужное место.
Свойство Enabled определяет, доступен ли управляющий элемент для пользователя. Если свойство имеет значение True, то управляющий элемент доступен, а если False, то недоступен. Недоступный управляющий элемент обычно имеет блеклый вид.
Свойство Font является сложным и определяет шрифт надписи на управляющем элементе. Параметры шрифта задаются с помощью вложенных свойств Color, Name, Size, Style, Height. Шрифт управляющего элемента может быть независимым, а может копироваться у владельца (формы или другого компонента). Это определяется значением свойства ParentFont. Если свойство ParentFont имеет значение True, то изменение шрифта владельца, например формы, автоматически приводит к изменению значения свойства Font управляющего элемента, например кнопки. Однако, если вы сами установите свойство Font, то свойство ParentFont автоматически получит значение False и шрифт управляющего элемента станет независимым.
Свойство HelpContext содержит номер темы в файле справочника, которая контекстно связана с управляющим элементом (см. гл. 17). Когда управляющий элемент обладает фокусом ввода, пользователь может нажать клавишу F1, чтобы получить по нему оперативную справку. Если свойство HelpContext имеет значение 0, то управляющий элемент берет номер темы у своего владельца.
Свойство Hint содержит строку подсказки, которая всплывает под управляющим элементом, если пользователь временно задерживает над ним курсор мыши. Всплытие подсказки может быть разрешено или запрещено с помощью другого свойства — ShowHint. Значение свойства ShowHint может зависеть от запрета подсказки для владельца (формы или другого компонента). Это определяется значением свойства ParentShowHint. Если свойство ParentShowHint имеет значение True, то запрет подсказки для владельца, например формы, автоматически приводит к запрету подсказки для управляющего элемента, например кнопки. Однако, если вы сами установите свойство ShowHint, то свойство ParentShowHint автоматически получит значение False и запрет подсказки для управляющего элемента станет независимым.
Свойство PopupMenu используется для привязки к управляющему элементу локального всплывающего меню. Это меню всплывает по щелчку правой кнопки мыши, когда курсор находится над управляющим элементом (меню обсуждаются в гл. 6).
Свойство TabOrder содержит порядковый номер управляющего элемента в пределах своего владельца. Это номер очереди, в которой управляющий элемент получает фокус ввода при нажатии клавиши Tab.
Свойство TabStop определяет, может ли управляющий элемент получать фокус ввода. Если свойство имеет значение True, то управляющий элемент находится в очереди на фокус ввода, а если False, — то нет.
Свойство Visible управляет видимостью управляющего элемента на экране. Если свойство имеет значение True, то управляющий элемент виден, а если False, — то скрыт.
