Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
все билеты.doc
Скачиваний:
34
Добавлен:
20.04.2019
Размер:
2.05 Mб
Скачать

2) Общее представление, назначение и использование ActiveX (место ActiveX-элементов в системе управления, способы их создания на базе mfc и на базе atl).

/*ActiveX - технология Microsoft, предназначенная для написания сетевых приложений. Она предоставляет программистам наборы стандартных библиотек, значительно облегчающих процесс кодирования. Если раньше при написании программ использовались механизмы OLE (OLE Automation, OLE Documents, OLE Controls,...), основанные на компонентной объектной модели (COM - Component Object Model), то теперь библиотеки OLE переписаны так, чтобы обеспечивать функциональность, достаточную для написания сетевых приложений. Таким образом, теперь при написании программ используется DCOM (Distributed Component Object Model) - распределенная компонентная объектная модель, а реализуют ее библиотеки ActiveX, которые по объему оказались гораздо меньше, чем библиотеки OLE, а по скорости - быстрее. Сохранилась и совместимость - любой программный компонент OLE будет работать с библиотеками ActiveX.*/

Понятие ActiveX.

Элемент ActiveX – это переносимый программный модуль, выполняющий

определенную задачу или набор задач. Элементы Active X похожи на стандартные элементы управления Windows, как кнопки или списки, которые можно размещать в диалоговых или других окнах. Он может отображать календарь, создавать диаграмму, служить диалоговым окном для чтения или записи информации в базу данных.

Технология ActiveX появилась с целью существенно увеличить функциональные

возможности компьютера, за счет интеграции в Internet и локальные сети, а также позволить программистам повторно использовать ранее написанный код. ActiveX – это набор технологий, позволяющий программным компонентам взаимодействовать друг с другом в сетевой среде (такой как Internet) независимо от языка на котором они реализованы. ActiveX является расширенной технологией OLE (Object Linking and Embedding). Эти стандарты базируются на основе модели COM (Component Object Model) и позволяют реализовывать компонентную архитектуру программного обеспечения. Основным достоинством их является большая скорость выполнения, за счет прямого доступа к ресурсам операционной системы, и возможность повторного использования кода. Повторность использования кода позволило разработчику использовать в различных приложениях один раз написанный код, использовать код написанный другими программистами, что в несколько раз увеличило скорость разработки программного обеспечения. Технология ActiveX работает только в среде Windows.

Коды и ресурсы ActiveX хранятся в отдельном файле с расширением .ocx. Элемент

ActiveX можно включить в программы на Visual C++, Visual Basic, Visual J++, поместить на Web-странице в сети Internet или локальной сети, использовать в приложениях баз данных или в любой программе, которая поддерживает технологию ActiveX.

Элементы ActiveX можно включать в любое приложение, независимо от языка

программирования. Приложение, в котором встраивается элемент управления ActiveX,

называется контейнером. ActiveX предоставляет три основных способа взаимодействия с

приложением: свойства, методы и события. Свойства – это атрибуты элемента, например для квадрата свойством может являться его цвет, координата верхнего левого угла, длина стороны.

Метод – это функция элемента ActiveX, которую может вызвать приложение, например, метод может вызвать диалоговое окно About с информацией об элементе. Событие – это то, что происходит внутри элемента, например щелчок мыши на элементе, передающий сообщение контейнеру. События могут предоставлять интерфейсы, через которые можно передавать сигналы – события всем заинтересованным в них программам. Взаимодействие приложения и элемента управления ActiveX представлено на рисунке 1.

Рис.1. Взаимодействие контейнер и ActiveX.

При свершении какого-либо события контейнер обращается к элементу Active X, а при

вызове метода или при изменении свойств – ActiveX передает в контейнер данные.

ATL (Active Template Library) – это библиотека шаблонов классов С++, позволяющая

создавать СОМ-объекты. Библиотека содержит базовые классы, реализующие

функциональность любого СОМ-объекта, классы реализующие основные интерфейсы OLE и ActiveX, а также вспомогательные классы для реализации обычных и диалоговых окон, для описания исполняемых модулей, хранения строк и т.п.

При использовании библиотеки шаблонов новый класс создаётся путём подстановки

других классов в качестве параметров шаблона, а не путём наследования, как в обычных

библиотеках (например, MFC).

Одним из первых методов разработки элементов управления и , до сих пор самым

эффективным, является применение библиотеки MFC. Однако в 1997 году Microsoft выпустила вторую версию библиотеки ATL, которая обеспечивает полную поддержку элементов управления ActiveX (разработка ActiveX с помощью ATL будет рассмотрена в лабораторной №3). При разработке ActiveX с помощью MFC необходимо учитывать то, что часть исполняемого программного кода находится в файлах библиотеки. И при повторном использовании или распространении ActiveX необходимо включать эти файлы, которые могут занимать до нескольких Мб.

Итак, если перед вами стоит задача создания профессиональных, высокоэффективных

элементов управления, следует пользоваться библиотекой ATL. Она обеспечивает наибольшую гибкость и является наилучшим средством разработки элементов управления ActiveX на C++.

Объекты MFC и ATL могут сосуществовать в одном проекте, но использовать их

параллельно достаточно сложно. Кроме того, нельзя с помощью классов MFC управлять

объектами Windows, созданными посредством ATL. В итоге, MFC предназначена для

использования в больших, сложных, многооконных Windows-приложениях, для которых COM является только одним из свойств.

Из Сосонкина:

Классы ActiveX-управляющих элементов также составляют галерею и относятся к OLE-механизмам Windows NT. Их применение сохраняет возможности обычных управляющих элементов, а кроме того, позволяет использовать различного рода настройки (масштаб, цвета, шрифты и др.) и создавать экзотические элементы управления, на-

пример непрямоугольные или прозрачные формы на экране.

Любой виртуальный прибор реализован как ActiveX-элемент [66] и может быть встроен в стандартный или пользовательский контейнер в среде MSWindowsNT.

Соседние файлы в предмете Системы управления