Описание основных компонентов Kylix Итак, как уже было сказано ранее, Kylix поставляется со стандартным набором компонентов, доступ к которым осуществляется при помощи палитры компонентов. Рассмотрим вкладки палитры компонентов.Вкладка Standard (рис. 8.1).
Рис. 8.1. Вкладка Standart
На этой вкладке расположены стандартные компоненты, такие как кнопки, фреймы, меню и т. д. Рассмотрим по порядку (слева направо) компоненты, расположенные на этой вкладке (табл. 8.1). Таблица 8.1. Компоненты вкладки Standard
Название на английском языке
Название на русском языке
Краткое описание компонента
Frames
Фреймы
Фрейм - это похожий на форму компонент, который используется для размещения внутри него других компонентов. Может размещаться на формах или других фреймах. Для создания нового фрейма нужно выбрать пункт меню File/New Frame (Файл/Новый Фрейм)
MainMenu
Главное меню
Служит для создания главного меню вашего приложения. Расположите этот компонент на форме и после двойного щелчка на нем добавьте новые пункты вашего меню
PopupMenu
Всплывающее меню
Служит для создания так называемого всплывающего меню - меню, которое отображается, после щелчка правой кнопкой мыши в определенной области приложения
Label
Метка
Служит для простого отображения текстовой информации, которую пользователь не может редактировать во время работы приложения
Edit
Поле для ввода
Служит для отображения текстовой информации, которую пользователь может изменять. Удобно применять для ввода или редактирования какой-либо текстовой информации
Memo
Многострочное поле
Работает как и поле для ввода, только позволяет вводить (редактировать) несколько строк текста
Button
Кнопка
Обычная кнопка предназначена для выполнения какого-либо кода по нажатии на кнопку пользователем
CheckBox
Флажок
Представляет опцию, благодаря которой пользователь может изменять положение переключателя вкл./выкп.
RadioButton
Переключатель
Данный переключатель работает обычно в группе с другими. Если на форме располагается несколько таких переключателей, только один из них может принимать включенное положение
ListBox
Список
Предназначен для вывода нескольких строк текста. Пользователь может выбрать любую из этих строк простым нажатием на ней
ComboBox
Выпадающий список
Является как бы комбинацией списка и поля для ввода. Пользователь может ввести самостоятельно текст в поле либо выбрать нужный из предоставленного списка
ScrollBar
Полоса прокрутки
Предназначена для смены видимой области отображения формы. Нужна для просмотра большого количества информации, которая просто не помещается на экран
GroupBox
Группа
Создает так называемый контейнер, который может содержать внутри себя компоненты. Эти компоненты объединяются в одну группу. Служит в основном для удобства работы с разными группами компонентов на одной форме
RadioGroup
Группа переключателей
Создает группу переключателей. Эти переключатели не зависят от других групп или одиночных переключателей
Panel
Панель
Используется для создания строк состояния или панелей инструментов. На панели могут размещаться другие компоненты
ActionList
Список действий
Позволяет вашему приложению централизованно реагировать на какие-либо действия пользователя. Например, копирование данных из поля для ввода
Следующая вкладка палитры компонентов Kylix называется Additional (рис. 8.2).
Рис. 8.2. Вкладка Additional
Эта вкладка содержит компоненты (слева направо), перечисленные в табл. 8.2.
Таблица 8.2. Компоненты вкладки Additional
Название на английском языке
Название на русском языке
Краткое описание компонента
BitBtn
Кнопка с рисунком
Кнопка, которая, помимо текста, может отображать рисунок
SpeedButton
Кнопка быстрого доступа
Такие кнопки обычно располагаются на панели инструментов. Они не могут содержать текста, а содержат только рисунки
MaskEdit
Поле для ввода по шаблону
Компонент похож на поле для ввода, только позволяет вводить информацию по определенным правилам, например паспортные данные, почтовый индекс, номер телефона и др.
StringGrid
Таблица со строками
Компонент позволяет работать со строками текста, размещая их в таблицу. Позволяет быстро создавать приложения наподобие электронных таблиц
DrawGrid
Таблица
Позволяет работать с произвольной информацией в таблице
Image
Рисунок
Служит для отображения графического растрового файла, иконки или метафайла
Shape
Геометрическая фигура
Позволяет отображать произвольные геометрические фигуры. Например, эллипс, треугольник, прямоугольник и др.
Bevel
Фаска
Позволяет украсить ваше приложение путем размещения "трехмерных" линий или прямоугольников
ScrollBox
Область прокрутки
Создает контейнер, который в случае необходимости автоматически, без вмешательства программиста, добавляет полосы прокрутки
CheckListBox
Список переключателей
Отображает похожий на список компонент, который позволяет выбирать сразу несколько строк одновременно
Splitter
Разделитель
Размещается между двумя выровненными компонентами-контейнерами и позволяет пользователю во время работы приложения изменять размеры этих компонентов с помощью перемещения разделителя
StaticText
Статический текст
Компонент похож на метку, но имеет некоторые дополнительные возможности, о которых мы поговорим в дальнейшем
ControlBar
Панель инструментов
Позволяет быстро создавать панели инструментов
LCDNumber
LCD-номер
Текстовое окно, в которое можно вводить текст или цифры. Все введенные значения будут отображаться на LCD-дисплее
Timer
Таймер
Невизуальный компонент, генерирующий событие OnTimer циклически через определенный промежуток времени
PaintBox
Окно для рисования
Размещает на форме область, в которой можно рисовать, используя графические средства Kylix
Третья вкладка палитры компонентов Kylix называется Common Controls (рис. 8.3).
Рис. 8.3. Вкладка Common Controls
Данная вкладка содержит 14 компонентов, которые указаны в табл. 8.3.
Таблица 8.3. Компоненты вкладки Common Controls
Название
Название на русском языке
Краткое описание компонента
TabControl
Вкладки
Предназначен для размещения нескольких переключаемых страниц, содержащих различные элементы. Примером применения вкладок может служить палитра компонентов Kylix
PageControl
Страницы
Используется для создания многостраничных диалоговых окон, таких как, например, окно настройки проекта (Project Options) Kylix
Image List
Список рисунков
Создает объединение рисунков, имеющих одинаковый размер, каждому из которых сопоставлен собственный индекс
TrackBar
Бегунок
Панель, предназначенная для визуального изменения какой-либо переменной величины. Бегунок может быть как горизонтальным, так и вертикальным
ProgressBar
Индикатор хода выполнения
Создает прямоугольную панель, которая заполняется слева направо для индикации хода выполнения какой-либо задачи. Часто применяется для отображения хода установки (инсталляции) какой-либо программы на жесткий диск
FreeView
Дерево
Отображает список в виде дерева
ListView
Список
Отображает список
HeaderControl
Заголовок
Отображает заголовок над столбцами, содержащими текст или числовые значения
StatusBar
Строка состояния
Создает панель, предназначенную для вывода служебной информации
ToolBar
Панель инструментов
Создает элемент, позволяющий размещать на себе кнопки и другие элементы, автоматически подбирая их размер и расположение
TextViewer
Просмотрщик текстов
Отображает содержимое текстового файла или простую HTML-страничку, которую можно прокручивать (скроллировать)
TextBrowser
Обозреватель текстов
Отображает содержимое текстового файла или простую HTML-страничку. Пользователь может прокручивать (скроллировать) текст или щелкать на размещенных в тексте ссылках для просмотра других страниц и рисунков
SpinEdit
Поле со стрелками
Отображает поле редактирования, в которое пользователь может ввести однострочное числовое значение или текст и использовать кнопки "стрелка вверх" и "стрелка вниз" для увеличения или уменьшения текущего значения поля
IconView
Список иконок
Отображает список или данные в виде строк и столбцов маленьких или больших иконок
Следующая вкладка палитры компонентов Kylix это вкладка Dialogs (рис. 8.4).
Рис. 8.4. Вкладка Dialogs
Данная вкладка содержит компоненты, предназначенные для создания диалоговых окон загрузки, сохранения файлов и т. д. Все эти компоненты перечислены в табл. 8.4.
Таблица 8.4. Компоненты вкладки Dialogs
Название
Название на русском языке
Краткое описание компонента
OpenDialog
Диалог открытия файла
Отображает стандартное диалоговое окно, позволяющее открыть любой файл по его имени
SaveDialog
Диалог сохранения файла
Отображает стандартное диалоговое окно, позволяющее сохранить данные в виде файла с заданием его имени
FontDialog
Диалог выбора шрифта
Отображает стандартное диалоговое окно, позволяющее выбрать нужный шрифт и задать его стилевые особенности (размер, начертание и т. д.)
ColorDialog
Диалог выбора цвета
Отображает стандартное диалоговое окно, позволяющее выбрать необходимый цвет
FindDialog
Диалог поиска текста
Отображает стандартное диалоговое окно, позволяющее набрать фрагмент текста (строку) для поиска и осуществить этот поиск
ReplaceDialog
Диалог поиска и замены
Отображает стандартное диалоговое окно, позволяющее произвести поиск введенной строки текста и замену этой строки на необходимую, которая также должна быть введена
Далее идут вкладки, содержащие компоненты для работы с базами данных, сетями и протоколами. Тятая вкладка называется Data Access и показана рис. 8.5.
Рис. 8.5. Вкладка Data Access
Нa этой вкладке расположены всего три компонента, с помощью которых рограмма получает возможность обращаться к данным, записанным в таблицы баз данных. Табл. 8.5 кратко описывает эти компоненты.
Таблица 8.5. Компоненты вкладки Data Access
Название
Название на русском языке
Краткое описание компонента
DataSource
Источник данных
Невизуальный компонент, который служит "каналом" для передачи данных между набором данных и компонентами, отображающими данные, такими как DBGrid
ClientDataSet
Клиентский набор данных
Невизуальный компонент, представляющий собой набор данных, содержащий данные в оперативной памяти. Он может быть использован при создании локальных баз данных
DataSetProvider
Поставщик данных
Невизуальный компонент, который формирует пакеты данных для отправки клиентам
Следующая вкладка носит название dbExpress (рис. 8.6).
Рис. 8.6. Вкладка dbExpress Вкладка содержит компоненты доступа к базам данных dbExpress. Все эти компоненты описаны в табл. 8.6.
Таблица 8.6. Компоненты вкладки dbExpress
Название
Название на русском языке
Краткое описание компонента
SQLConnection
SQL-соединение
Компонент для обеспечения связи с сервером базы данных dbExpress
SQLDataSet
Набор данных SQL
Представляет собой набор данных, работающий с базами данных dbExpress
SQLQuery
SQL-запрос
Компонент, позволяющий создавать и выполнять SQL-запросы для работы с таблицами баз данных dbExpress
SQLStoredProc
Хранимая SQL-процедура
Хранимая на сервере dbExpress процедура, выполняемая с помощью соответствующего вызова
SQLTable
SQL-таблица
Таблица базы данных dbExpress
SQLMonitor
SQL-монитор
Прерывает сообщения, проходящие между компонентом SQLConnection и сервером базы данных, и сохраняет их в списке
SQLClientDataSet
Набор данных SQL- клиента
Как и ClientDataSet, этот компонент сохраняет в оперативной памяти данные и любые изменения, сделанные приложением в физические таблицы
Следующая вкладка палитры компонентов Kyltx называется Data Controls (рис. 8.7).
Рис. 8.7. Вкладка Data Controls
Она содержит компоненты, позволяющие управлять данными таблиц баз цанных. Эти компоненты перечислены в табл. 8.7.
Таблица 8.7. Компоненты вкладки Data Controls
Название
Название на русском языке
Краткое описание компонента
DBGrid
Сетка
Содержащий данные компонент, предназначенный для отображения и редактирования данных в табличном виде, похожем на лист электронной таблицы
DBNavigator
Навигационный интерфейс
Содержащий данные компонент, имеющий кнопки для перемещения по записям набора данных, вставки, редактирования и просмотра, а также сохранения новых или измененных данных в физической таблице
DBText
Надпись
Содержащий данные компонент, метка, которая отображает значение какого-либо поля текущей записи набора данных
DBEdit
Поле ввода
Содержащий данные компонент, предназначенный для отображения или редактирования значения какого-либо поля текущей записи набора данных
DBMemo
Мемо-поле
Содержащий данные компонент, предназначенный для отображения или редактирования BLOB-текста текущей записи набора данных
DB Image
Графический образ
Содержащий данные компонент, предназначенный для отображения, копирования или вставки растровой картинки в нее или в текущую запись набора данных
DBListBox
Список
Содержащий данные компонент, применяемый для отображения и прокрутки списка значений из столбца таблицы
DBComboBox
Комбинированный список
Содержащий данные компонент, предназначенный для отображения или редактирования прокручиваемого списка значений из столбца таблицы
DBCheckBox
Независимый переключатель
Содержащий данные компонент, который применяется для отображения или редактирования поля логического типа текущей записи набора данных
DBRadioGroup
Группа зависимых переключателей
Содержащий данные компонент, представляющий собой группу зависимых переключателей, предназначенных для отображения или установки значений столбца
DBLookupListBox
Простой список
Его значения формируются по полю другого набора данных
DBLookupComboBox
Комбинированный список
Его значения формируются по полю другого набора данных
Следующая вкладка, которая носит имя Internet (рис. 8.8), содержит компоненты для создания Web-приложений.
Рис. 8.8. Вкладка Internet
Все компоненты вкладки Internet кратко описаны в табл. 8.8.
Таблица 8.8. Компоненты вкладки Internet
Название
Название на русском языке
Краткое описание компонента
WebDispatcher
Диспетчер Web
Конвертирует обычный модуль данных в Web-модуль и позволяет приложению Web-серверу отвечать на запросы клиентов
PageProducer
Составитель страниц
Конвертирует HTML (Hypertext Transfer ProtocoO-шаблоны в строки HTML-команд, которые могут обрабатываться приложением-клиен-том, например Web-обозревателем
DataSetTableProducer
Составитель таблиц набора данных
Монтирует последовательность HTML-команд для отображения записей набора данных в виде таблицы
DataSet PageProducer
Составитель страниц набора данных
Конвертирует HTML-шаблоны, содержащие поля набора данных, в строки HTML-команд, которые могут обрабатываться приложением-клиентом, таким как Web-обозреватель
SQLQueryTableProducer
Составитель таблиц из объектов типа TSQLQuery
Монтирует последовательность HTML-команд для отображения записей из объектов типа TSQLQuery в виде таблицы
TcpClient
TCP-клиент
Добавляет на форму или модуль данных объект типа TTCPClient для "превращения" приложения в приложение-клиент TCP/IP (Transmission Control Protocol/Internet Protocol). TCP-клиент устанавливает желаемое соединение с TCP/IP-сервером, обслуживает текущее соединение и завершает соединение
TcpServer
TCP-сервер
Добавляет на форму или модуль данных объект типа TTCPServer для "превращения" приложения в приложение-сервер TCP/IP. TCP-сервер ожидает запросы на TCP/IP-соединение от других компьютеров сети, и если такой запрос получен - устанавливает соединение
UdpSocket
UDP-сокет
Добавляет на форму или модуль данных объект типа TUDPSocket для "превращения" приложения в UDP/IP (User Datagram Protocol/ Internet ProtocoO-клиент или сервер
Следующие три вкладки содержат компоненты, созданные компанией Nev-rona. Эти компоненты предназначены для разработки интернет-приложений и поддержки различных сетевых протоколов, таких как HTTP, FTP, SMTP, UDP, Telnet, POP3. Первая из этих трех вкладок носит имя Indy Clients (рис. 8.9).
Рис. 8.9. Вкладка Indy Clients
Все компоненты, расположенные на данной вкладке, кратко описаны в приведенной ниже табл. 8.9.
Таблица 8.9. Компоненты вкладки Indy Clients
Название
Название на русском языке
Краткое описание компонента
IdTCPClient
TCP-клиент
Инкапсулирует полную функциональность TCP-клиента, включая поддержку сокетов, и может быть использован для создания заказных программных средств
IdUDPClient
UDP-клиент
Инкапсулирует полную функциональность UDP-клиента и может быть использован для создания заказных программных средств
IdDayTime
Дата/время
Обеспечивает поддержку протокола даты/времени (RFC 876) как клиент
IdDNSResolver
Разрешитель DNS
Запрашивает DNS (Domain Name Server) для различных типов записей доменных имен
IdEcho
Эхо
Обеспечивает поддержку эхо-протокола (RFC 862)
IdFinger
Указатель
Обеспечивает поддержку протокола Finger User Information (RFC 1288) как клиент
IdFTP
FТР-клиент
Обеспечивает поддержку протокола передачи файлов File Transfer Protocol (RFC 959) как клиент
IdGopher
Gopher-клиент
Обеспечивает поддержку протокола Internet Gopher (RFC 1436) как клиент
IdHTTP
HTTP-клиент
Обеспечивает поддержку HTTP-протокола, в том числе модификации HTTP 1.0 (RFC 1945) и HTTP 1.1 (RFC 2616) как Web-обозреватель
IdlcmpClient
ICMР-клиент
Данный компонент предназначен для отправки пакетов Internet Control Message на другие компьютеры сети
IdPOP3
РОРЗ-клиент
Данный компонент обеспечивает поддержку протокола Post Office версии 3 (RFC 1939) для приема электронной почты как клиент
IdNNTP
NNTP-клиент
Обеспечивает поддержку протокола Network News Transfer (RFC 977) как клиент
IdQOTD
QOTD-клиент
Обеспечивает поддержку протокола Quote of the Day (RFC 865) как клиент
IdRawClient
Raw-клиент
Представляет собой потомок класса TidRawBase, который обеспечивает способность клиента использовать соединение Raw сокет
IdSMTP
SMTP-клиент
Компонент поддерживает протокол Simple Mail Transfer (RFC 821 , 1 869 и 2554) как клиент
IdSNTP
SNTP-клиент
Компонент поддерживает протокол Simple Network Time (RFC 2030) как клиент
IdTelnet
Telnet-клиент
Компонент поддерживает протокол Telnet как клиент
IdTirne
Time-клиент
Компонент поддерживает протокол Time (RFC 868) как клиент
IdTrivialFTP
TrivialFTP-клиент
Компонент поддерживает протокол Trivial File Transfer как клиент
IdWhois
Whois-клиент
Поддерживает протокол Nickname или Whois (RFC 954) как клиент
Вторая вкладка из группы Indy носит название Indy Servers (рис. 8.10).
Рис. 8.10. Вкладка Indy Servers
Компоненты, расположенные на этой вкладке, перечислены в табл. 8.10.
Таблица 8.10. Компоненты вкладки Indy Servers
Название
Название на русском языке
Краткое описание компонента
IdTCPServer
TCP-сервер
Инкапсулирует полную функциональность TCP-сервера, включая поддержку сокетов, и может быть использован для создания заказных программных средств
IdUDPServer
UDP-сервер
Инкапсулирует полную функциональность UDP-сервера и может быть использован для создания заказных программных средств
IdChargenServer
Chargen-сервер
Обеспечивает создание Chargen-сервера
IdDayTimeServer
Сервер даты/времени
Обеспечивает поддержку протокола даты/времени (RFC 876) как сервер
IdDictServer
Dictionary-сервер
Обеспечивает поддержку протокола Dictionary Server, DICT (RFC 2229)
IdDiscardServer
Discard-сервер
Обеспечивает поддержку протокола Discard (RFC 863) как сервер
IdEchoServer
Эхо-сервер
Обеспечивает поддержку эхо-протокола (RFC 862) как сервер
IdFingerServer
Сервер указателя
Обеспечивает поддержку протокола Finger User Information (RFC 1288) как сервер
IdGopherServer
Gopher-сервер
Обеспечивает поддержку протокола Internet Gopher (RFC 1436) как сервер
IdHostName Server
HostName-сервер
Обеспечивает разработку Internet HostName сервера (RFC 953)
dHTTPServer
HTTP-сервер
Обеспечивает поддержку HTTP-протокола как сервер
IdMAP4Server
МАР4-сервер
Обеспечивает поддержку протокола Internet Message Access версии 4, IMAP4 (RFC 2060)
IdlRCServer
IRC-сервер
Позволяет создавать сервер, поддерживающий протокол Internet Relay Chat, IRC (RFC 1459)
IdMappedPortTCP
Сервер портов TCP
Позволяет создавать сервер с прослушиванием определенных портов и обеспечением связи с другими серверами
IdNNTPServer
NNTP-сервер
Обеспечивает поддержку протокола Network News Transfer (RFC 977) как сервер
IdQOTDServer
QOTD-сервер
Обеспечивает поддержку протокола Quote of the Day (RFC 865) как сервер
IdSimpleServer
Простой TCP-сервер
Простой TCP-сервер без поддержки потоков
IdTelnetServer
Telnet-сервер
Компонент поддерживает протокол Telnet как сервер
IdTimeServer
Time-сервер
Компонент поддерживает протокол Time (RFC 868) как сервер
IdTrivialFTPServer
TrivialFTP-сервер
Компонент поддерживает протокол Trivial File Transfer как сервер
IdTunnelMaster
TCP-сервер с поддержкой IP-туннелей
Позволяет создавать серверы, поддерживающие IP-туннели
IdTunnel Slave
Сервер доступа к туннельным соединениям
Сервер, позволяющий получить доступ клиентов через туннельное соединение
dWhoIsServer
Whois-сервер
Поддерживает протокол Nickname или Whois (RFC 954) как сервер
И наконец, последняя вкладка палитры компонентов Kylix, которая называется Indy Misc (рис. 8.11).
Рис. 8.11. Вкладка Indy Misc
Компоненты этой вкладки описываются в табл. 8.11.
Таблица 8.11. Компоненты вкладки Indy Misc
Название
Название на русском языке
Краткое описание компонента
IdAntiFreeze
Разморозка
Позволяет подсистеме Indy осуществить вызов процедуры Application. ProcessMessag, которая обеспечивает дальнейшую работу системы, пока обрабатываются вызовы Indy
IdDateTimeStamp
Переводчик форматов даты/времени
Переводит дату/время в различные форматы, используемые в различных протоколах
IdLogDebug
Отладчик
Прерывает текущее соединение в случае ошибки с ведением log-файла
IdMessage
Интернет-сообщение
Инкапсулирует полное интернет-сообщение (RFC 822 или RFC 1036) для следующих протоколов: РОРЗ, SMTP и NNTP со встроенным расширением Multiple Mail Extensions, MME (RFC 2045, 2046, 2047, 2048 и 2049)
IdThreadMgrDefault
Менеджер потока
Действует по умолчанию в качестве менеджера потока в Indy для сервера типа TidTCPServer и его потомков
IdTixreadMgrPool
Пуловый менеджер потока
Работает как менеджер потока, для потока типа TldThread, использующего пул
IdVCard
Электронные бизнес-карты
Обеспечивает поддержку Virtual Cards (электронных бизнес-карт) с помощью метода ReadFromTSt rings
IdlMFDecoder
IMF-декодер
Декодирует двоичные данные в текстовый формат при помощи UU-кодировки
IdQuotedPrintableEncoder
ММЕ-кодер
Кодирует текст в формат ММЕ
IdQuotedPrintableDecoder
ММЕ-декодер
Декодирует формат ММЕ в текст
IdBase64Encoder
Вазе64-кодер
Кодирует двоичные данные в текст, использующий кодировку Base64
IdBase64 Decoder
Base64-декодер
Декодирует текст в формате Base64 в двоичную форму
IdUUEncoder
UU-кодер
Кодирует двоичные данные в текст, использующий кодировку UUEncode
IdUUDecoder
UU-декодер
Декодирует текст формата UUEncode в двоичную форму
IdXXEncoder
ХХ-кодер
Кодирует двоичные данные в текст, использующий кодировку XX
IdXXDecoder
ХХ-декодер
Декодирует текст формата XX в двоичную форму
InCoderMD2
Шифровальщик MD2
Шифрует данные с использованием формата шифрования MD2
IdCoderMD4
Шифровальщик MD4
Шифрует данные с использованием формата шифрования MD4
IdCoderMD5
Шифровальщик MD5
Шифрует данные с использованием формата шифрования MD5
На этом пока закончим обзор компонентов, входящих в среду Kylix. Добавим только, что все эти компоненты поставляются с Kylix Server Developer. Применение данных компонентов будет рассмотрено далее на примерах.
Свойства, события и методы основных компонентов Kylix Давайте рассмотрим свойства, события и методы основных компонентов Kylix. Это необходимо для использования всех возможностей, предоставляемых средой Kylix. Более того, когда вы будете создавать собственные компоненты, знание основных компонентов очень вам пригодится (можно создавать компоненты на основе уже имеющихся в Kylix).
Типы свойств Следует отметить, что к свойствам применимы те же правила, которые используются для описания типов в Object Pascal. Типы свойств компонента нужны в первую очередь для отображения и редактирования его в окне инспектора объектов. Перечислим основные типы свойств компонентов Kylix (табл. 8.12).
Таблица 8.12. Типы свойств компонентов Kylix
Тип свойства
Отображение свойств в окне инспектора объектов
Простой (Simple)
Числовые, символьные и строковые свойства отображаются соответственно как числа, символы и строки. Разработчик может редактировать значения данных свойств непосредственно в окне инспектора объектов
Перечисляемый (Enumerated)
Свойства перечисляемых типов (включая булевы) отображаются в инспекторе объектов как редактируемые строки. Разработчик может, кроме непосредственного ввода значения свойства, переключать допустимые значения свойства двойным щелчком кнопки мыши в поле значения свойства инспектора объектов либо выбрать допустимое значение из выпадающего списка
Множество (Set)
Свойства типа "множество" отображаются в инспекторе объектов как множества. При помощи двойного щелчка мыши на значении свойства разработчик может расширить множество и установить каждому элементу множества булево значение (True, если данный элемент входит в множество)
Объект (Object)
Свойства такого типа часто имеют собственный редактор свойств. Свойства типа "объект" должны быть потомками класса Tpersistent
Массив (Array)
Свойства типа "массив" должны иметь собственный редактор свойств. Инспектор объектов Kylix не поддерживает редактирование свойств данного типа. Разработчик должен при регистрации компонента определить редактор свойств
Свойства основных компонентов Kylix Рассмотрим свойства, которые имеют стандартные компоненты Kylix. Для начала - основные свойства, которые присущи компонентам - наследникам класса TControl. Кроме краткого описания свойства, мы будем приводить строку кода, описывающего данное свойство внутри класса TControl. Это поможет вам понять, какой тип имеет данное свойство. Свойство Action предназначено для определения действия, связанного с элементом управления (меню, кнопкой и т. д). Оно описывается в классе TControl следующим образом:
property Action: TBasicAction;
Значение этого свойства устанавливается во время разработки приложения, путем выбора из выпадающего списка предусмотренных действий. Данный список формируется путем размещения на форме компонента TActionList и задания его свойств. Свойство ActionLink устанавливает связь между элементом управления и действием, определенным в свойстве Action. Оно описывается следующим образом:
property ActionLink: TControlActionLink;
Свойство Align предназначено для задания способа выравнивания компонента внутри компонента контейнерного типа. Оно описывается так:
property Align: TAlign;
Перечислим возможные значения данного свойства: aiNone - компонент остается на том месте, где он был размещен во время разработки приложения. Данное значение присваивается свойству Align по умолчанию; alTop - компонент занимает всю верхнюю часть компонента-контейнера. Во время выполнения приложения ширина компонента зависит от ширины компонента-контейнера. Высота компонента остается неизменной, независимо от высоты контейнера; alBottom - аналогичен aiTop, за исключением того, что компонент занимает всю нижнюю часть компонента-контейнера; aliLeft - компонент занимает всю левую часть компонента-контейнера. Во время выполнения приложения высота компонента зависит от высоты компонента-контейнера. При изменении ширины компонента-контейнера ширина компонента остается неизменной; alRight - аналогичен alLeft, за исключением того, что компонент занимает всю правую часть компонента-контейнера; alClient - компонент занимает всю клиентскую часть компонента-контейнера. При изменении высоты и ширины компонента-контейнера изменяются высота и ширина компонента. Если в клиентской части компонента контейнерного типа уже имеются другие компоненты, то данный компонент занимает всю оставшуюся незанятой часть компонента-контейнера.
Примечание Значения alTop и alBottom имеют больший приоритет по сравнению со значениями alLef t и alRight. Таким образом, если вы вывели на форму два компонента, присвоив свойству Align одного из них значение aiTop, а другому - alRight, то первый компонент вытеснит верхнюю часть второго компонента (рис. 8.12).
Свойство Anchors предназначено для определения привязки компонента к родительскому компоненту при изменении размеров родительского компонента. Оно определяется следующим образом:
property Anchors: TAnchors;
Это свойство имеет тип множества (TAnchors), которое может содержать такие элементы: akTop - компонент привязан к верхнему краю родительского компонента; akLeft - компонент привязан к левому краю родительского компонента; akBottom - компонент привязан к нижнему краю родительского компонента; akRight - компонент привязан к правому краю родительского компонента.
Рис. 8.12. Применение свойства Align
В случае, когда существует привязка к противоположным сторонам родительского компонента, при изменении его размеров будет происходить сжатие или растяжение дочернего компонента вплоть до полного исчезновения его изображения. Таким образом, данное свойство определяет как бы фиксацию расстояния от компонента до краев родительского компонента. Свойство BoundsRect применяется для получения одновременно координат всех четырех вершин компонента. Данное свойство определяется так:
property BoundsRect: TRect;
Примечание Настоящие координаты можно получить из следующих свойств компонента: Left (левый край компонента), Тор (верхний фай), width (ширина компонента) и Height (высота). Описание этих свойств приводится ниже.
Началом координат считается левый верхний угол окна, содержащего данный компонент. Свойство caption связывает с компонентом некоторую строку текста, поясняющую его назначение. Данная строка является обычно заголовком компонента (заголовком кнопки, метки, пункта меню и др.). Это свойство описывается следующим образом:
property Caption: TCaption;
По умолчанию свойство устанавливается таким же, как имя компонента (свойство Name). Для пунктов меню и кнопок с помощью этого свойства можно задать кнопку быстрого вызова, для чего перед символом кнопки быстрого вызова ставится символ амперсанда (&). Например, для быстрого вызова меню Файл перед буквой "Ф" в свойстве Caption данного пункта меню можно поставить знак амперсанда: &Файл. При этом буква "Ф" в пункте меню станет подчеркнутой. Теперь для вызова данного пункта меню пользователю будет достаточно воспользоваться комбинацией клавиш <Alt>+<Ф>. Для того чтобы отобразить в заголовке символ &, вы можете использовать такую запись: &&. Свойство ciientHeight предназначено для установки или чтения высоты клиентской области компонента. Это свойство описывается так: property CiientHeight: Integer;
Оно применяется при изменении размеров компонента, которые содержат в себе другие компоненты. При таком изменении будет происходить изменение компонентов, содержащихся в компоненте-контейнере. Свойство clientorigin предназначено для получения экранных координат (х и у) левого верхнего угла клиентской области компонента. Началом координат является верхний левый угол экрана. Возвращаемые координаты передаются в структуре типа TPoint. Данное свойство предназначено только для чтения. Оно описано следующим образом:
property ClientOrigin: TPoint;
Свойство clientRect возвращает координаты углов клиентской области компонента. Данное свойство также предназначено только для чтения. Координаты возвращаются в структуре типа TRect. Свойство описывается так:
property ClientRect: TRect;
Вместо вызова данного свойства можно воспользоваться свойствами Rect, ClientWidth И CiientHeight (они описаны ниже):
Rect (0, 0, ClientWidth, ClientHeight)
Свойство clientwidth предназначено для установки или чтения горизонтального размера клиентской области компонента. Данное свойство описано следующим образом:
property ClientWidth: Integer;
Свойство Color определяет цвет фона компонента. Значение данного свойства может быть или числом, определяющим интенсивность трех основных цветов (красного, зеленого и синего), или константой, определенной в Kylix (табл. 8.13).