Внешний вид элемента управления

Для определения цвета компонента используется свойство

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. Возможные состояния элемента управления

Состояние

Описание

csLButtonDown

Левая кнопка мыши нажата, но еще не отпущена. Используется для реализации события OnMouseDown

csClicked

Левая кнопка мыши нажата, но еще не отпущена. Используется для реализации события OnClick

csPalette

Состояние соответствует режиму изменения палитры. Это реакция на сообщение WM_ PALETTCHANGED

csReadingState

Осуществляется чтение значений свойств из потока (см. табл. 5.1)

csAlignmentNeeded

Осуществляется выравнивание компонента

csFocusing

Элемент управления получает фокус

csCreating

Элемент управления и его дочерние элементы создаются

csPaintCopy

Отрисовывается копия элемента управления

csCustomPaint

Элемент управления выполняет нестандартные операции отрисовки, заданные разработчиком

csDestroyingHandle

Указатель на объект элемента управления уничтожается

csDocking

Элемент управления находится в режиме присоединения

В зависимости от совокупности установленных свойств, элемент управления может соответствовать одному из возможных стилей, который задается свойством

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).