
- •Библиотека визуальных компонентов vcl и ее базовые классы
- •Иерархия базовых классов
- •Класс tObject
- •Класс tPersistent
- •Класс tCompomnt
- •Базовые классы элементов управления
- •Класс tControl
- •Группа свойств Visual. Местоположение и размер элемента управления
- •Выравнивание элемента управления
- •Внешний вид элемента управления
- •Связь с родительским элементом управления
- •Класс tWinControl
- •Класс tCustomControl
- •Класс tGraphicControl
Класс tCustomControl
Класс TCustomControl предназначен для создания на его основе нестандартных оконных элементов управления. Процесс визуализации в нем упрощен за счет использования специального класса TCanvas, инкапсулирующего канву (см. гл. 11).
Доступ к канве осуществляется через свойство
property Canvas: TCanvas;
Отрисовка элемента управления осуществляется методом
procedure PaintWindowfDC: HDC); override;
после получения сообщения WM_PAINT.
Возможности этого класса унаследовали классы TPanel, TGroupBox, TStringGrid и т. д.
Класс tGraphicControl
Класс TGraphicControl предназначен для создания на его основе визуальных компонентов, не получающих фокус в процессе выполнения приложения. Так как непосредственным предком класса является класс TControl, то потомки TGraphicControl умеют реагировать на управляющие воздействия мышью.
Наглядный пример элемента управления, которому не нужно получать фокус, — это компонент TLabel, предназначенный для отображения текста, или компонент Timage, предназначенный для визуализации изображений.
Для визуализации элементов управления на основе этого класса используется канва, инкапсулированная в классе TCanvas.
Доступ к канве осуществляется через свойство
property Canvas: TCanvas;
Отрисовка элемента управления осуществляется методом
procedure PaintWindow(DC: HDC); override;
после получения сообщения WM_PAINT.
Резюме
В настоящей главе рассмотрены важнейшие свойства и методы базовых классов, лежащих в основе VCL.Зная возможности этих классов, вы тем самым будете знать назначение многих свойств и методов в компонентах VCL. Поэтому материал данной главы будет полезен при изучении любых вопросов, рассматриваемых в этой книге в дальнейшем.