Вкладка Attributes в описании классов составных объектов
В табл. 3.8 перечислены все атрибуты, а в табл. 3.9 — флаги, которые используются в описаниях составных классов.
Вкладка Members в описании составного класса
Во вкладке Members в описании составного класса можно добавлять и удалять интерфейсы и перечисления, которые составляют класс СОМ. В рассматриваемой вкладке содержится следующая информация.
Имена интерфейсов и диспинтерфейсов, которые реализованы в классе СОМ.
Идентификаторы GUID интерфейсов и диспинтерфейсов, реализованных в классе СОМ.
Указания, является ли интерфейс или диспинтерфейс источником сообщений.
Указания, является ли интерфейс или диспинтерфейс программируемым интерфейсом, используемым в языке программирования макросов, таких как Word Basic, Visual Basic, Delphi, Object PAL и Excel Basic.
Указания, запрещено ли использование интерфейса или диспинтерфейса в языках программирования макросов таких как Word Basic, Visual Basic, Delphi, Object PAL и Excel Basic. Чтобы добавить интерфейсы в составной класс или удалить их, нужно щелкнуть правой кнопкой мыши в облает вкладки Members. На экране появится контекстное меню, в котором нужно выбрать команду Insert Interface или Remove Interface. С помощью контекстного меню можно также установить флаги Source, Default и Restricted. Новые интерфейсы можно выбирать из текущей библиотеки или из библиотек, на которые ссылается текущая библиотека типов.
Теперь займемся увлекательным делом — создадим элементы управления ActiveX. Рассмотрим, что собой представляв ActiveX и чем элементы управления ActiveX лучше или хуже стандартных компонентов Delphi на базе библиотек VCL.
Технология ActiveX компании Microsoft представляет собой технологию ОСХ, переделанную для обеспечения передачи элементов управления через службы Internet, в основном через World Wide Web. Я уверен, что читатель спросит „Это все хорошо, но как технология ActiveX может помочь мне?“. Но неужели вам не хочется создать элементы управления, которые можно использовать не только в Delphi, но и в таких средах программирования, как Borland C++ Builde Visual C++ и Visual Basic? Технология ActiveX предоставляет вам такую возможность.
Чтобы использовать эту возможность, Delphi предлагает с помощью среды DAX заключить потомка класса TWin Control в элемент управления ActiveX. Ниже перечислены платформы, на которых сертифицированы для выполнены элементы управления ActiveX, поставляемые с Delphi.
Borland Delphi версии 2 и 3.
Borland C++ Builder.
Borland Paradox 8.
Borland IntraBuilder.
Microsoft Visual C++.
Microsoft Visual Basic версии 4 и 5.
Microsoft Internet Explorer 3.01.
Microsoft ActiveX Control Pad.
Microsoft Frontpage.
Создание элемента управления ActiveX предусматривает выполнение следующих этапов.
Элемент управления VCL должен быть вставлен в палитру компонентов Delphi и должен быть потомком класса TWinControl. Чтобы создать элемент управления ActiveX, являющийся потомком TGraphicControl. в большинстве случаев достаточно изменить базовый класс на TCustomControl. Этот способ использован в примере, который будет приведен немного позже.
Запустите мастера ActiveX Control, выбрав команду File/New и дважды щелкнув на пиктограмме ActiveX Control во вкладке ActiveX. В окне мастера выберите компонент VCL, который нужно преобразовать в элемент ActiveX, укажите имя элемента ActiveX, включите или отключите информацию о лицензировании, версии и т. п. После щелчка на кнопке OK Delphi создаст библиотеку типов со всеми свойствами, объявленными как public и published, методами и событиями. Дополнительно создаются два файла исходного кода: в одном из них содержатся определения из библиотеки типов (интерфейсы, диспинтерфейсы и т. д.), а во втором — реализации методов интерфейса, определенных в первом файле.
В процессе создания библиотеки типов Delphi может преобразовать не все конструкции языка то ли потому, что нет смысла преобразовывать отдельные конструкции, то ли потому, что она не знает, как преобразовать некоторые конструкции языка Object Pascal. Независимо от причины, по которой преобразование не выполнилось, в определение элемента ActiveX можно легко добавить любые свойства, методы и события. Для этого откройте библиотеку типов (с помощью команды View/Type Library), внесите необходимые изменения и щелкните на кнопке Refresh панели инструментов редактора библиотек типов, что позволит Delphi обновить код.
Создайте код всех методов Get и Set, в которых не реализована необходимая функциональность или которые оставлены пустыми, как добавления к библиотеке типов. Это относится и к обработчикам событий.