Внешний вид элемента управления
Для определения цвета компонента используется свойство
property Color: TColor;
При нахождении указателя мыши над компонентом его изображение может изменяться в соответствии со значением свойства
property Cursor: TCursor;
Для текста компонента шрифт обычно задается свойством
property Font: TFont;
Сложный класс TFont, задающий все характеристики шрифта, подробно рассматривается в гл. 10.
Свойство
property DesktopFont: Boolean;
определяет возможность использования шрифта для отображения, который применяется ОС для представления текста в значках.
Сам текст задается свойством
type TCaption = string; property Text: TCaption;
Длину текста можно определить при помощи функции
function GetTextLen: Integer;
Она возвращает число символов в тексте.
Элемент управления можно сделать видимым или невидимым. Для этого применяется свойство
property Visible: Boolean;
Этих же результатов можно достичь методами show (компонент видим) и
Hide (компонент невидим).
Опубликованное свойство
property Hint: string;
содержит текст ярлыка — однострочной подсказки, которая появляется в маленькой рамке при остановке мыши на элементе управления.
Для управления ярлыком используется свойство
property ShowHint: Boolean;
При значении True ярлык начинает работать, при значении
False ярлык выключается.
Для каждого элемента управления можно создать собственное всплывающее меню. Ссылка на экземпляр класса
TPopupMenu, инкапсулирующего такое меню, хранится в свойстве
property PopupMenu: TPopupMenu;
Текущее состояние элемента управления определяется свойством
Controistate:
type TControlState = set of (csLButtonDown, csClicked, csPalette, csReadingState, csAlignmentNeeded, csFocusing, csCreating, csPaintCopy, csCustomPaint, csDestroyingHandle, csDocking,); property Controistate: TControlState;
Описание возможных состояний элемента управления представлено в табл. 2.3.
Таблица 2.3. Возможные
состояния элемента управления
|
|
|
Левая кнопка мыши нажата, но еще не отпущена. Используется для реализации события
OnMouseDown
|
|
Левая кнопка мыши нажата, но еще не отпущена. Используется для реализации события
OnClick
|
|
Состояние соответствует режиму изменения палитры. Это реакция на сообщение
WM_ PALETTCHANGED
|
|
Осуществляется чтение значений свойств из потока (см. табл. 5.1)
|
|
Осуществляется выравнивание компонента
|
|
Элемент управления получает фокус
|
|
Элемент управления и его дочерние элементы создаются
|
|
Отрисовывается копия элемента управления
|
|
Элемент управления выполняет нестандартные операции отрисовки, заданные разработчиком
|
|
Указатель на объект элемента управления уничтожается
|
|
Элемент управления находится в режиме присоединения
|
В зависимости от совокупности установленных свойств, элемент управления может соответствовать одному из возможных стилей, который задается свойством
type TControlStyle = set of (csAcceptsControls, csCaptureMouse, csDesignlnteractive, csClickEvents, csFramed, csSetCaption, csOpaque, csDoubleClicks, csFixedWidth, csFixedHeight, csNoDesignVisible, csReplicatable, csNoStdEvents, csDisplayDraglmage, csReflector, csActionClient, csMenuEvents); property ControlStyle: TControlStyle;
Доступность элемента управления в целом определяется свойством
property Enabled: Boolean;
При значении True элемент управления полностью работоспособен. При значении
False элемент управления неактивен и отображается серым цветом.
Для получения контекста устройства нос элемента управления используется метод
function GetDeviceContext(var WindowHandle: HWnd): HDC; virtual;
Набор свойств и методов класса TwinControl обеспечивает функционирование механизма перетаскивания
(Drag-and-Drop) и механизма присоединения (Drag-and-Dock).
|