8. Оконные классы с пользовательской процедурой отрисовки

Сергей Юрьевич Юшинин

Аннотация

На предыдущих лекциях мы познакомились и с графическими и с оконными элементами управления и выяснили, что для создания графического элемента управления в качестве предка следует выбирать TGraphicControl, а для оконного элемента – TWinControl.

Мы выяснили, что графические элементы хороши тем, что поддерживают свойство Canvas и виртуальные метод Paint. Они не могут быть родительскими для других компонентов и принимать события от клавиатуры, так как не имеют дескриптора окна.

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

Как же быть, если нужно совместить лучшее из двух классов TCustomGraphic и TWinControl – и поддержку окна и пользовательскую проседуру отрисовки? Ответ прост – использовать TCustomControl (пользовательский элемент управления).

Прежде чем пробовать что-то разработать на основе TCustomControl, следует разобраться, а что этот класс предоставляет в наше распоряжение.

Содержание

1. TCustomControl – окно и графика
2. Варианты создания компонентов на основе TCustomControl
2.1. Новый элемент управления
2.2. Создание контейнера для других элементов управления
Литература

Литература

1. Объектно-ориентированное программирование: Учебник для вузов. М.: Изд-во МГТУ им. Н.Э. Баумана. 368.

2. Рэй Конопка. Создание оригинальных компонент в среде Delphi: Пер. с англ.. 5-7707-9551-4. НИПФ - "ДиаСофт Лтд.". 1996. 512.