Использование встроенных классов

На первых порах разработчика программ интересуют не все классы, а компоненты. Компоненты – неотъемлемая часть прикладной программы. Они формируют основу интерфейса пользователя. Компоненты для разработки интерфейса и системные компоненты соответственно называются визуальными и невизуальными. Невизуальные компоненты используются для реализации логической части приложения и функциональных возможностей системной составляющей (рис. 1). Визуальные компоненты входят в палитру компонентов и позволяют строить пользовательский интерфейс приложения.

ИЕРАРХИЯ КЛАССОВ

Delphi имеет большое количество встроенных классов, которые образуют иерархическое дерево (рис. 8, слева).

использование встроенных классов - student2.ru

Рис. 8. Фрагмент иерархии классов.

Каждый класс обязательно является наследником другого класса, за исключением TObject. TObject является предком для всех классов. Предком для всех компонентов является класс TComponent. Иерархию и отдельные элементы классов можно увидеть с помощью Browse Objects (рис. 8), окно которого вызывается из меню: View–Browse.

Каждый класс обладает набором своих методов, свойств, и полей, да еще наследует массу подобных элементов. Поэтому ориентироваться во всех возможностях класса очень трудно. Помогает то обстоятельство, что многие свойства и методы имеют много общего и называются одинаково.Базовые встроенные классы следует рассматривать как некую библиотеку функций и возможностей, которые к тому же можно наследовать при разработке собственных классов. Рассмотрим кратко назначение некоторых основных компонентов в иерархии классов.

Класс TObject реализует функции, которые обязательно будут выполняться в процессе построения любого объекта. Следует отметить, что круг общих для всех классов операций невелик. В первую очередь – это создание экземпляра класса и его уничтожение. Эти операции, например, для размещенных на форме объектов выполняются автоматически. Рассмотрим еще одну функцию данного класса. Каждый объект должен содержать некоторую информацию о себе, которая используетсяприложением и средой разработки. Класс TObject содержит ряд методов, обеспечивающих представление этой информации в потомках.

Основное назначение класса TPersistent (в переводе означает: устойчивый, постоянный) заключается в возможности выполнения операции копирования содержимого одного объекта (Source) в другой (Self). Self - специальная переменная в объекте-приемнике. При этом используется метод Assign – простым присваиванием содержимое не копируется, а замещается с уничтожением внутренней структуры объекта-приемника.

Класс TComponentиспользуется в качестве основы для создания невизуальных компонентов и реализует основные механизмы, которые обеспечивают функционирование любого компонента.

Вслед за классом TComponent в иерархии классов (рис. 8) располагаетсягруппа из трех классов, которые обеспечивают создание различных визуальных компонентов. Визуальные компоненты – это разнообразные стандартные для Windows и специальные элементы управления.

Понятно, что визуальные компоненты должны уметь отобразить себя на экране монитора и реагировать на целый ряд новых событий – реакция на мышь, клавиатуру, движение курсора и т.д. Для этого в них встроен специальный механизм, обеспечивающий взаимодействие компонентов с графической подсистемой операционной среды (GUI).

Базовым для всех визуальных компонентов является класс TControl, который инкапсулирует механизмы отображения компонентов на экране. В этом классе вводится множество новых свойств и методов. Для определения местоположения и размеров визуального компонента введены два свойства, с помощью которых задаются координаты левого верхнего угла: Top (верхний) и Left(левый), - а также два свойства, задающие размеры клиентской области: Height (высота) и Width(ширина). Значения свойств задаются в пикселах. Для определения местоположения компонента используется система координат рабочей области владельца (Owner – владелец) данного компонента, например, формы. Имеется и ряд других свойств, определенных в компоненте TControl.

Далее в иерархии классов стоит очень важный визуальный компонент TWinControl, который обеспечивает использование в Delphi оконных элементов управления. Главное отличие оконного элемента управления от других элементов – наличие дескриптора окна hWnd.Дескриптор окна – это специальный идентификатор, присваиваемый операционной системой всем объектам, которые должны обладать свойствами окна. Если элемент управления имеет дескриптор окна, то он должен уметь выполнять следующие операции:



  • получать и передавать фокус управления во время выполнения приложения:
  • воспринимать управляющие воздействия от мыши и клавиатуры:
  • уметь размещать на себе другие элементы управления.

Наши рекомендации