Современный рынок систем разработки приложение содержит тысячи встроенных компонент, которые можно включить в приложения, расширяя их функциональность. Кроме программ на Visual Basic теперь можно использовать доступные управления ActiveX в Visual C++. Сейчас будет изучено, как добавить управления ActiveX в Visual C++ приложения, повысив их существующую функциональность. Будут раскрыты следующие вопросы:
- Что представляют собой управления ActiveX, и как они работают.
- Как добавить управления ActiveX в проект рабочего пространства.
- Как использовать управления ActiveX в Visual C++ приложении.
- Как вызывать различные методы для управлений ActiveX.
- Как управление событиями включается в управление ActiveX.
Чем является управление ActiveX?
Управления ActiveX представляют собой компоненты программного обеспечения, которые можно включить в различные программы, используя их, как исходный код программы.
ActiveX используется для вызова OLE 2.0, являющейся технологией Microsoft соединения двух или более приложений для их совместной работы (или, по крайней мере, для переключения между различными приложениями с общей оболочкой). Это идея является расширением исходной технологии OLE (Связывание и Внедрение Объектов), которая разрешает соединять документы, созданные разными приложениями в один документ. При обновлении технологии OLE для работы в распределенной среде (типа Internet) Microsoft решила также обновить имя. Так, появился ActiveX.
ActiveX и интерфейс IDispatch
Технология ActiveX надстроена на технологии Microsoft COM (Модель Компонентов Объектов), используя ее интерфейс и модель взаимодействия для незаметной интеграции управления ActiveX. COM технология определяет, как создаются объекты ActiveX и как разрабатываются их интерфейсы. Технология ActiveX определяет слой, надстроенный над COM, для необходимой поддержки интерфейсов различных объектов и их взаимодействия.
Примечание: Технология Microsoft COM определяет, как приложения и его компоненты будут взаимодействовать своими интерфейсами. Интерфейс аналогичен функции вызова компонента ActiveX. Однако COM указывает, как эта функция вызова должна быть построена и вызвана, и какая поддерживающая функциональность должна сопровождать функцию вызова. Такие интерфейсы, типа Iunknown, нужны в каждом COM объекте и используют запрос компонента для поиска других интерфейсов, поддерживаемых этим компонентом. Каждый интерфейс поддерживает специфический набор функциональности: один интерфейс управляет внешним видом управления, другой управляет взаимодействием внешнего вида с окружающим приложением, третий переключают события в окружающем приложении и так далее.
Одной из ключевых технологий управления ActiveX является автоматизация. Автоматизация позволяет приложению, внедренному в другое