COleControl

Класс COleControl является мощным базовым классом для разработки элементов управления OLE. Производные от CWnd, этот класс наследует все функциональные возможности объекта окна Windows, а также функции, характерные для OLE, такие как запуск события и способность поддерживать методы и свойства.

OLE элементы управления могут быть вставлены в приложения контейнера OLE и общаться с контейнером, с помощью двухсторонней системы событий стрельбы и предоставление методов и свойств для контейнера. Обратите внимание, что стандартные контейнеры OLE поддерживают только базовую функциональность элемента управления OLE. Они не могут для поддержки расширенных возможностей элемента управления OLE. Огонь событие происходит, когда события отправляются в контейнер из-за определенных действий, которые происходят в элементе управления. В свою очередь контейнер взаимодействует с элементом управления, с помощью открытых набор методов и свойств, аналогично функции-члены и члены данных класса C++. Этот подход позволяет разработчику управлять внешним видом элемента управления и уведомлять контейнера возникновения определенных действий.

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

OLE элементы управления могут быть активно используется на месте без окна. Безоконные элементы управления имеют значительные преимущества:

Элементы управления не требуется окно. Услуги, которые предлагает окна легко может быть предоставлена через одно общее окно (обычно контейнера) и немного диспетчерской кода. Окно является главным образом ненужное усложнение на объекте.

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

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

В элементе управления без окон вам следует всегда использовать функции-члены COleControl вместо соответствующие функции-члены CWnd или их соответствующие функции Windows API.

OLE объекты элементов управления можно также создать окно только тогда, когда они становятся активными, но количество работы, необходимой для неактивной активные перехода идет вверх, и скорость перехода идет вниз. Есть случаи, когда это является проблемой: в качестве примера, рассмотрим сетка текстовых полей. Когда cursoring вверх и вниз через колонку, каждый элемент управления должен быть на месте активируется и затем деактивируется. Скорость перехода неактивных/активная непосредственно влияют на скорость прокрутки.

Для получения дополнительных сведений о разработке рамок управления OLE, обратитесь к статьям Элементов управления ActiveX и создать программу с ActiveX ControlWizard в Руководстве Visual C++ программист. Для получения дополнительных сведений о добавлении функциональности за основные рамки, см. построения элемента управления ActiveX (круг учебник) в Visual C++. Информация об оптимизации элементов управления OLE, включая элементы управления окон и без мерцания, см. элементов управления ActiveX: Оптимизация в Руководстве по Visual C++ программист.

# include lt;afxctl.h>

Члены класса |nbsp; Базовый класс | Иерархическая схема

Образцы  CIRC3 образца MFC | Образца MFC DRAWPIC | Образца TESTHELP MFC

См. также COlePropertyPage, CFontHolder, CPictureHolder

Index