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

Сходства и различия визуальных компонентов CLX и VCL

События, генерируемые widget, перехватываются и обрабатываются специальными объектами, взаимодействующими с объектом widget. Затем они передаются связанному объекту CLX, который вызывает необходимые обработчики событий.

Объекты-перехватчики создаются при вызове метода:

procedure HookEvents; virtual;

А непосредственно для создания перехватчиков используется библиотечная функция Qwidget_hook_create. Метод HookEvents вызывается автоматически при создании widget.

Доступ к объекту-перехватчику возможен при помощи свойства:

property Hooks: QWidget_hookH;

Которое объявлено в секции protected и может быть использовано только при создании новых компонентов.

Классы CLX имеют очень интересное и важное свойство:

property Style: TWidgetStyle;

Которое позволяет управлять внешним видом и процессом отрисовки компонента.

Свойство:

type TDefaultStyle = (dsWindows, dsMotif, dsMotifPlus, dsCDE, dsQtSGI, dsPlatinum, dsSystemDefault);
 property DefaultStyle: TDefaultStyle;

Класса TWidgetStyle определяет стиль визуального компонента, задающий его внешний вид по умолчанию. Естественно, операционная система должна поддерживать выбранный стиль.

Кроме того, класс Twidgetstyle определяет некоторые наиболее общие параметры визуальных компонентов и обладает огромным числом обработчиков событий, которые вызываются при отрисовке всех возможных компонентов и экранных элементов.

Таким образом, свойство style является прекрасным инструментом для создания собственных компонентов с нестандартной функциональностью.

Для использования в Linux модернизирована система контекстной помощи для компонентов CLX. Теперь статья подсказки для визуального компонента может быть вызвана двумя способами.

Традиционно, путем определения уникального номера статьи в свойстве:

property HelpContext: THelpContext;

И дополнительно, путем определения ключевого слова подсказки в свойстве:

property HelpKeyword: String;

Способ вызова помощи определяется свойством:

type THelpType = (htKeyword, htContext);
property HelpType: THelpType;

Примечание
Свойства контекстной подсказки являются новыми в Delphi 7 и имеются у компонентов CLX и VCL
.

Кроме того, отдельные компоненты CLX имеют дополнительные свойства и методы, определяющие их дополнительную функциональность в Linux.

В то же время некоторые привычные для программирования в Windows свойства компонентов отсутствуют в компонентах CLX. Это свойства обрамления компонента (BevelEdges, Bevellnner, BevelKind, BevelOuter); возможность двунаправленной печати текстов (свойство BioiMode); свойства для обратной совместимости с Windows 3.x (Ctl3D и ParentCtl3D); механизм присоединения и свойства Drag-and-Drop, хотя сам механизм Drag-and-Drop остался (свойства DockSite, DragKind, DragCursor).

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