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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Обратите внимание, что элемент управления не отвечает за получение доступа к носителю записи. Вместо этого контейнер элемента управления отвечает за предоставление элемента управления с носителем записи для использования в соответствующие моменты. Дополнительные сведения о сериализации см. в статье Элементы управления 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. Дополнительные сведения о эти примеры см. в разделе Примеры элементов управления: Элементы управления ActiveX на основе MFC

См. также

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

Элементы пользовательского интерфейса (MFC)