Читать «Учебник по Delphi 4.0» онлайн - страница 45
Unknown
if hwndPrev < 0 then
begin
SetForegroundWindow(hwndPrev);
Application.Terminate;
end;
Application.CreateForm(TFormi,Formi);
end.
Глава 5. Создание элементов управления ActiveX
Большинству пользователей услышавших термин АсtiveX на ум сразу приходят элементы управления ОСХ по-новому названные в очередном маркетинговом трюке компании Microsoft. В некотором смысле это так Microsoft действительно использует термин ActiveX для обозначения технологии базирующихся на модели СОМ. Но аббревиатура OLE уже не охватывает всех этих технологий. Microsoft настолько расширила определение OLE, что разработчики уже давно считают сопутствующие технологии чем-то отдельным от OLE. Поэтому в профессиональную лексику был введен термин ActiveX, используемый для обозначения всех базирующихся на СОМ технологии, которые существуют на данный момент и будут созданы в будущем. На сегодняшний день ActiveX включает следующие технологии:
Библиотеки ActiveX (внутренние серверы)
Серверы автоматизации (внутренние и внешние серверы)
Элементы управления ActiveX
Формы ActiveForm (комбинированные элементы управления ActiveX)
Страницы свойств
Чтобы упростить разработку базирующихся на стандарте ActiveX технологий, необходима продуманная и спланированная среда которая инкапсулирует в себе сложность множества интерфейсов и функции ActiveX и OLE. Разработчики Delphi создали механизм, с помощью которого любой элемент управления Windows, порожденный классом TWinControl, можно превратить в элемент управления ActiveX. Вы можете использовать существующие компоненты VCL и превратить их в элементы ActiveX, которые будут полезны в других средах разработки, например в Visual Basic.
Для облегчения преобразования разработчики Delphi создали среду Delphi ActiveX (DAX). Она упрощает разработку серверов СОМ, типизированных объектов СОМ, серверов автоматизации, элементов управления ActiveX, форм ActiveForm и страниц свойств. Давайте ближе познакомимся со средой DAX.
Объекты ActiveX в среде DAX
Ниже показана иерархия классов среды DAX, которые поддерживают объекты СОМ, типизированные объекты СОМ, серверы автоматизации, элементы управления ActiveX и формы ActiveForm.
TComObject
TTypedComObject
TAutoObject
TActiveXControl
TCustomForm
TActiveForm
Класс TCustomForm вместо класса TForm использован в качестве предка класса TActiveForm, так как в TCustomForm включены только свойства и методы, уместные для формы ActiveX.
Страницы свойств в среде DAX
Другой частью среды DAX являются страницы свойств, которые используются в различных средах программирования для изменения значений свойств элементов управления на этапе разработки. Страницы свойств часто оказываются устаревшими, так как среды программирования обладают различными реализациями инспекторов свойств объектов, которые позволяют оперировать свойствами объектов во время разработки приложения. Но несмотря на это в создаваемые элементы управления ActiveX нужно всегда включать страницы свойств. Даже если эти страницы не будут использоваться ни для чего больше, то они хотя бы предоставят разработчику способ построения специальных окон редактирования более сложных свойств элемента управления. Как будет показано ниже, в Delphi можно довольно просто создавать страницы свойств. Ниже показана иерархия классов, которая поддерживает создание страниц свойств в Delphi.