Для определения цвета компонента используется свойство
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).