Copyright © 2006, 2007, 2008, 2009 Сергей Юшинин
Аннотация
На предыдущих лекциях мы познакомились и с графическими и с оконными элементами управления и выяснили, что для создания графического элемента управления в качестве предка следует выбирать TGraphicControl, а для оконного элемента – TWinControl.
Мы выяснили, что графические элементы хороши тем, что поддерживают свойство Canvas и виртуальные метод Paint. Они не могут быть родительскими для других компонентов и принимать события от клавиатуры, так как не имеют дескриптора окна.
Оконные же элементы управления, напротив, могут становиться родительскими для других компонентов и принимать события от клавиатуры, но являясь "оберткой" для реализованных в Windows элементов управления поддерживают пользовательскую отрисовку крайне ограниченно.
Как же быть, если нужно совместить лучшее из двух классов TCustomGraphic и TWinControl – и поддержку окна и пользовательскую проседуру отрисовки? Ответ прост – использовать TCustomControl (пользовательский элемент управления).
Прежде чем пробовать что-то разработать на основе TCustomControl, следует разобраться, а что этот класс предоставляет в наше распоряжение.
Содержание