Иллюстрированный самоучитель по Delphi 7 для профессионалов

Внешний вид элемента управления. Связь с родительским элементом управления.

Таблица 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).

Связь с родительским элементом управления

Механизм связывания визуального компонента с родительским компонентом (владельцем) позволяет автоматически задавать для нового элемента управления некоторые свойства, отвечающие за его внешний вид (см. выше). В результате все дочерние элементы управления для одного родительского (формы, панели) будут выглядеть одинаково оформленными.

Родительский компонент задается свойством:

property Parent: TWinControl;

Для каждого дочернего элемента управления можно задать значения нескольких свойств:

property ParentBiDiMode: Boolean; property ParentColor:
 Boolean; property ParentFont: Boolean; property ParentShowHint: Boolean;

Каждое из них управляет одной характеристикой визуализации элемента. Метод:

function HasParent: Boolean; override;

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

В классе TControl впервые появляются методы-обработчики событий, которые обеспечивают передачу в элемент действия мыши, присоединение и перетаскивание.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.