Кент Рейсдорф. BORLAND C++BUILDER. Раздел 1
Кент Рейсдорф. BORLAND C++BUILDER. Страница 120
Иерархия классов VCL, относящихся к компонентам, достаточно сложна. К счастью, вам не нужно знать каждую деталь VCL, чтобы начать программировать в C-H-Builder. На вершине цепочки классов VCL находится TObject. На рис. 5.5 показаны некоторые из базовых классов и их производные классы.
Рис. 5.5
Иерархия классов VCL
TObject является прародителем всех классов компонентов в VCL. Под ним вы видите класс TPersistent. Этот класс определяет способность компонентов сохранять себя в файлах и памяти, а также берет на себя заботу о других низкоуровневых деталях, которые нам знать не обязательно. Я просто счастлив (и вы, конечно, тоже), что для написания большинства приложений в C+-fBuilder нам не нужно слишком много знать о TPersistent.
Класс TComponent является более прямым базовым классом для компонентов. Он обеспечивает функционирование всех основных компонентов. Невизуальные компоненты созданы непосредственно на основе TComponent. Основой же для визуальных компонентов служит TControl, который, как видно из рис. 5.5, произведен от TComponent. TControl обеспечивает дополнительные функции, которые требуются для визуальных компонентов. Отдельные компоненты произведены от TGraphicControl или TWinControl.
Когда вы помещаете компонент в форму, C++Builder генерирует код для создания нового класса на основе класса VCL, соответствующего данному компоненту. При этом создается указатель на объект, чтобы вы могли иметь к нему доступ. Для образования имен класса и указателя С+-l-Builder использует значение свойства Name. Когда мы ранее создавали приложение- пример, в форму был помещен компонент Memo. В этот момент С+H~Bu.ilder произвел новый класс от ТМето и создал экземпляр этого класса. Аналогично этому, при помещении в форму кнопки C++Builder произвел класс от TButton и создал его экземпляр. Для представления новой формы C++Builder ранее уже создал новый класс на основе класса TForm и, разумеется, экземпляр этого класса.