Кент Рейсдорф. 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 и, разумеется, экземпляр этого класса.

Web-дизайн (с) 2010 - 2017 All rights reserved