Поделиться через


Элементы управления ActiveX MFC

Элемент управления ActiveX ― это многократно используемый компонент программы, основанный на модели COM, который поддерживает широкий диапазон функциональных возможностей OLE и может быть настроен для соответствия многим потребностям программного обеспечения.Элементы управления ActiveX разработаны для использования и в обычных контейнерах элементов управления ActiveX и в Интернете в страницах Интернета.Можно создать элементы управления ActiveX или описанный здесь с MFC или с библиотека шаблонных классов ATL (библиотека ATL).

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

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

Можно создать безоконные элементы управления ActiveX и элементы управления, только когда они создают окно будет активным.Безоконная скорость элементов управления вверх отображения приложения и делает ее возможным наличие прозрачные и непрямоугольные элементы управления.Можно также загрузить свойства элемента управления ActiveX в асинхронном режиме.

Элемент управления ActiveX реализован как сервер в процессе (как правило, небольшой объект), который может использоваться в любом OLE-контейнер.Обратите внимание, что вся функциональность элемента управления ActiveX доступна только при использовании в OLE-контейнер, предназначенное для отдавала учитывать элементов управления ActiveX.См. раздел Элементы управления ActiveX порта в другие приложения список контейнеров, которые поддерживают управления ActiveX.Этот hereafter тип контейнера, «контейнером элемента управления» может работать с элементом управления ActiveX с помощью свойств и методов этого элемента управления, а получает уведомления от элемента управления ActiveX в форму событий.Следующая диаграмма демонстрирует это взаимодействие.

Взаимодействие между контейнером элементов управления ActiveX и Оконного элемента управления ActiveX

Взаимодействие элементов управления ActiveX

Для нескольких последних сведений на оптимизировать элементы управления ActiveX см. в разделе Элементы управления ActiveX MFC: оптимизация.

Для создания элемента управления ActiveX MFC см. в разделе Создание проекта элемента управления ActiveX.

Дополнительные сведения см. в следующих разделах.

Основные компоненты элемент управления ActiveX

Элемент управления ActiveX используется несколько программных элементов для эффективного взаимодействия с контейнером элементов управления и с пользователем.Эти класс COleControl, набор функций событие-включения и сопоставления диспетчера.

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

Поскольку класс элемента управления является производным от COleControl, он наследует возможность отправлять или «пожар,» называемые сообщения, событиями, в контейнер элемента управления при выполнении некоторых условий.Эти события предназначены, чтобы уведомить контейнер элемента управления, если что-то важное происходит в элементе управления.Можно отправить дополнительные сведения о событиях в контейнер элемента управления путем вложения параметры к событию.Дополнительные сведения о событиях элемент управления ActiveX см. в статье Элементы управления ActiveX MFC: События.

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

Взаимодействие между элементами управления с окнами и контейнерами элемент управления ActiveX

Если элемент управления используется в контейнере элемента управления, он использует 2 механизма для передачи: он предоставляет свойства и методы, и он вызывает события.Следующая диаграмма демонстрирует, как эти 2 механизма реализованы.

Связь между контейнером элементов управления ActiveX и элемент управления ActiveX

Взаимодействие ActiveX Cntrl контейнера ActiveXCntrl

Предыдущая на рисунке также показано, как другие интерфейсы OLE (кроме обработки событий) автоматизации и элементами управления.

Все ссылки элемента управления с контейнером выполняется COleControl.Обрабатывать некоторые из этих запросов контейнера функции-члены без доставки COleControl , реализованные в классе элемента управления.Все методы и некоторые свойства, обрабатываются таким образом.Класс элемента управления также может инициировать взаимодействие с контейнером путем вызова функции-члены COleControl.События предоставляются таким образом.

Активные и неактивные состояния элемента управления ActiveX

Элемент управления содержит 2 основных состояния: активные и неактивные.Обычно эти состояния были доступны по которым различаются ли элемент управления является окном.Активный элемент управления доступен окно; бездействующий элемент управления не выполнил.С введением безоконной активации, это отличие больше не формат, но все еще применяется ко многим элементам управления.

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

Если элемент управления с окном становится активным, он может взаимодействовать с контейнером элементов управления, полностью пользователем и окнами.В диаграмме ниже показаны пути сообщения между элементом управления ActiveX, контейнером элемента управления и операционной системой.

Обработка сообщений окон Оконного элемента управления ActiveX (активного), если

Win Msg обрабатывающий Windowed ActiveX Cntrl (активный)

Сериализация

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

Обратите внимание, что элемент управления не отвечает за получение доступа к носители записи.Вместо этого контейнер элемента управления отвечает за предоставления элемента управления с носителем записи для использования в нужное время.Дополнительные сведения о сериализации см. в статье Элементы управления ActiveX MFC: Сериализация.Дополнительные сведения о оптимизировать сериализации см. в разделе Оптимизировать сохраняемости и инициализация в элементах управления ActiveX. оптимизация.

Установка классов и средства элемент управления ActiveX

При установке Visual C++, классы и retail элемент управления ActiveX MFC и отладочный элемент управления ActiveX DLL во время выполнения автоматически установленны если управления ActiveX, выбранных в программе установки (они выбирается по умолчанию).

По умолчанию классы элементов управления ActiveX и средства установленны следующими подкаталогов в \Program Files\Microsoft Visual Studio .NET.

  • \Common7\Tools

    Содержит файлы тестового контейнера (TstCon32.exe, а также его файлы справки).

  • \Vc7\atlmfc\include

    Включить содержит файлы, необходимые для разработки управления ActiveX с MFC

  • \Vc7\atlmfc\src\mfc

    Содержит исходный код для конкретных классов элементов управления ActiveX в MFC

  • \Vc7\atlmfc\lib

    Содержит библиотеки, необходимые для разработки управления ActiveX с MFC

Образец также для элементов управления ActiveX MFC.Дополнительные сведения об этих образцах см. в разделе Примеры элементов управления: MFC-Основанные управления ActiveX

См. также

Другие ресурсы

Пользовательский интерфейс