Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Этот класс предоставляет методы для управления окном, на котором размещен элемент activeX.
Внимание
Этот класс и его члены нельзя использовать в приложениях, выполняемых в среде выполнения Windows.
Синтаксис
class CAxWindow : public CWindow
Участники
Методы
| Function | Description |
|---|---|
| AttachControl | Присоединяет существующий элемент activeX к объекту CAxWindow . |
| CAxWindow | Формирует объект CAxWindow. |
| CreateControl | Создает элемент ActiveX, инициализирует его и размещает в CAxWindow окне. |
| CreateControlEx | Создает элемент ActiveX и извлекает указатель интерфейса (или указатели) из элемента управления. |
| GetWndClassName | (статический) Извлекает предопределенное имя CAxWindow класса объекта. |
| QueryControl | Извлекает IUnknown размещенный элемент activeX. |
| QueryHost | Извлекает IUnknown указатель CAxWindow объекта. |
| SetExternalDispatch | Задает внешний интерфейс диспетчера, используемый CAxWindow объектом. |
| SetExternalUIHandler | Задает внешний IDocHostUIHandler интерфейс, используемый CAxWindow объектом. |
Операторы
| Operator | Description |
|---|---|
| оператор = | Назначает HWND существующему CAxWindow объекту. |
Замечания
Этот класс предоставляет методы для управления окном, на котором размещен элемент activeX. Размещение предоставляется atlAxWin80, который упаковывается в оболочкуCAxWindow.
Класс CAxWindow реализуется как специализация CAxWindowT класса. Эта специализация объявлена следующим образом:
typedef CAxWindowT<CWindow> CAxWindow;
Если необходимо изменить базовый класс, можно использовать CAxWindowT и указать новый базовый класс в качестве аргумента шаблона.
Требования
Заголовок: atlwin.h
CAxWindow::AttachControl
Создает новый объект узла, если он еще не присутствует и присоединяет указанный элемент управления к узлу.
HRESULT AttachControl(
IUnknown* pControl,
IUnknown** ppUnkContainer);
Параметры
pControl
[in] Указатель на IUnknown элемент управления.
ppUnkContainer
[out] Указатель на IUnknown узел ( AxWin объект).
Возвращаемое значение
Стандартное значение HRESULT.
Замечания
Перед вызовом AttachControlприсоединенный объект элемента управления должен быть правильно инициализирован.
CAxWindow::CAxWindow
CAxWindow Создает объект с помощью существующего дескриптора объекта окна.
CAxWindow(HWND hWnd = NULL);
Параметры
hWnd
Дескриптор существующего объекта окна.
CAxWindow::CreateControl
Создает элемент управления ActiveX, инициализирует его и размещает в указанном окне.
HRESULT CreateControl(
LPCOLESTR lpszName,
IStream* pStream = NULL,
IUnknown** ppUnkContainer = NULL);
HRESULT CreateControl(
DWORD dwResID,
IStream* pStream = NULL,
IUnknown** ppUnkContainer = NULL);
Параметры
lpszName
Указатель на строку для создания элемента управления. Должен быть отформатирован одним из следующих способов:
Идентификатор progID, например
"MSCAL.Calendar.7"CLSID, например
"{8E27C92B-1264-101C-8A2F-040224009C02}"URL-адрес, например
"<https://www.microsoft.com>"Ссылка на активный документ, например
"file://\\\Documents\MyDoc.doc"Фрагмент HTML, например
"MSHTML:\<HTML>\<BODY>This is a line of text\</BODY>\</HTML>"Примечание.
"MSHTML:"должен предшествовать фрагменту HTML, чтобы он был назначен как поток MSHTML. Только progID и CLSID поддерживаются на платформах Windows Mobile. Встроенные платформы Windows CE, отличные от Windows Mobile с поддержкой CE IE, поддерживают все типы, включая ProgID, CLSID, URL-адрес, ссылку на активный документ и фрагмент HTML.
pStream
[in] Указатель на поток, используемый для инициализации свойств элемента управления. Может иметь значение NULL.
ppUnkContainer
[out] Адрес указателя, который получит IUnknown контейнер. Может иметь значение NULL.
dwResID
Идентификатор ресурса HTML. Элемент управления WebBrowser будет создан и загружен с указанным ресурсом.
Возвращаемое значение
Стандартное значение HRESULT.
Замечания
Если используется вторая версия этого метода, создается элемент управления HTML и привязан к ресурсу, определяемого dwResID.
Этот метод дает тот же результат, что и вызов:
AtlAxCreateControlEx(lpszName, hWnd, pStream, NULL, NULL, GUID_NULL, NULL);
См. статью CAxWindow2T::CreateControlLic для создания, инициализации и размещения лицензированного элемента activeX.
Пример
Пример использования CreateControlэлементов ActiveX см. в разделе "Размещение элементов ActiveX Controls с помощью ATL AXHost".
CAxWindow::CreateControlEx
Создает элемент управления ActiveX, инициализирует его и размещает в указанном окне.
HRESULT CreateControlEx(
LPCOLESTR lpszName,
IStream* pStream = NULL,
IUnknown** ppUnkContainer = NULL,
IUnknown** ppUnkControl = NULL,
REFIID iidSink = IID_NULL,
IUnknown* punkSink = NULL);
HRESULT CreateControlEx(
DWORD dwResID,
IStream* pStream = NULL,
IUnknown** ppUnkContainer = NULL,
IUnknown** ppUnkControl = NULL,
REFIID iidSink = IID_NULL,
IUnknown* punkSink = NULL);
Параметры
lpszName
Указатель на строку для создания элемента управления. Должен быть отформатирован одним из следующих способов:
Идентификатор progID, например
"MSCAL.Calendar.7"CLSID, например
"{8E27C92B-1264-101C-8A2F-040224009C02}"URL-адрес, например
"<https://www.microsoft.com>"Ссылка на активный документ, например
"file://\\\Documents\MyDoc.doc"Фрагмент HTML, например
"MSHTML:\<HTML>\<BODY>This is a line of text\</BODY>\</HTML>"Примечание.
"MSHTML:"должен предшествовать фрагменту HTML, чтобы он был назначен как поток MSHTML. Только progID и CLSID поддерживаются на платформах Windows Mobile. Встроенные платформы Windows CE, отличные от Windows Mobile с поддержкой CE IE, поддерживают все типы, включая ProgID, CLSID, URL-адрес, ссылку на активный документ и фрагмент HTML.
pStream
[in] Указатель на поток, используемый для инициализации свойств элемента управления. Может иметь значение NULL.
ppUnkContainer
[out] Адрес указателя, который получит IUnknown контейнер. Может иметь значение NULL.
ppUnkControl
[out] Адрес указателя, который получит IUnknown элемент управления. Может иметь значение NULL.
iidSink
[in] Идентификатор интерфейса исходящего интерфейса в содержащемся объекте. Можно IID_NULL.
punkSink
[in] Указатель на IUnknown интерфейс объекта приемника, который должен быть подключен к точке подключения на автономном объекте, указанном iidSink.
dwResID
[in] Идентификатор ресурса HTML. Элемент управления WebBrowser будет создан и загружен с указанным ресурсом.
Возвращаемое значение
Стандартное значение HRESULT.
Замечания
Этот метод аналогичен CAxWindow::CreateControl, но в отличие от этого метода, CreateControlEx также позволяет получать указатель интерфейса на только что созданный элемент управления и настроить приемник событий для получения событий, запущенных элементом управления.
См. статью CAxWindow2T::CreateControlLicEx , чтобы создать, инициализировать и разместить лицензированный элемент activeX.
Пример
Пример использования CreateControlExэлементов ActiveX см. в разделе "Размещение элементов ActiveX Controls с помощью ATL AXHost".
CAxWindow::GetWndClassName
Извлекает имя класса окна.
static LPCTSTR GetWndClassName();
Возвращаемое значение
Указатель на строку, содержащую имя класса окна, который может размещать нелицензированные элементы ActiveX.
CAxWindow::operator =
Назначает HWND существующему CAxWindow объекту.
CAxWindow<TBase>& operator=(HWND hWnd);
Параметры
hWnd
Дескриптор существующего окна.
Возвращаемое значение
Возвращает ссылку на текущий объект CAxWindow.
CAxWindow::QueryControl
Извлекает указанный интерфейс размещенного элемента управления.
HRESULT QueryControl(REFIID iid, void** ppUnk);
template <class Q>
HRESULT QueryControl(Q** ppUnk);
Параметры
iid
[in] Указывает iiD интерфейса элемента управления.
ppUnk
[out] Указатель на интерфейс элемента управления. В версии шаблона этого метода не требуется идентификатор ссылки, если передается типизированный интерфейс с соответствующим UUID.
Q
[in] Интерфейс, который запрашивается.
Возвращаемое значение
Стандартное значение HRESULT.
CAxWindow::QueryHost
Возвращает указанный интерфейс узла.
HRESULT QueryHost(REFIID iid, void** ppUnk);
template <class Q>
HRESULT QueryHost(Q** ppUnk);
Параметры
iid
[in] Указывает iiD интерфейса элемента управления.
ppUnk
[out] Указатель на интерфейс на узле. В версии шаблона этого метода не требуется идентификатор ссылки, если передается типизированный интерфейс с соответствующим UUID.
Q
[in] Интерфейс, который запрашивается.
Возвращаемое значение
Стандартное значение HRESULT.
Замечания
Интерфейс узла позволяет получить доступ к базовым функциям кода размещения окон, реализованным AxWin.
CAxWindow::SetExternalDispatch
Задает внешний интерфейс диспетчера для CAxWindow объекта.
HRESULT SetExternalDispatch(IDispatch* pDisp);
Параметры
pDisp
[in] Указатель на IDispatch интерфейс.
Возвращаемое значение
Стандартное значение HRESULT.
CAxWindow::SetExternalUIHandler
Задает внешний интерфейс IDocHostUIHandlerDispatch для CAxWindow объекта.
HRESULT SetExternalUIHandler(IDocHostUIHandlerDispatch* pUIHandler);
Параметры
pUIHandler
[in] Указатель на IDocHostUIHandlerDispatch интерфейс.
Возвращаемое значение
Стандартное значение HRESULT.
Замечания
Внешний IDocHostUIHandlerDispatch интерфейс используется элементами управления, запрашивающими сайт узла для IDocHostUIHandlerDispatch интерфейса. Элемент управления WebBrowser — это один элемент управления, который делает это.
См. также
Пример ATLCON
Класс CWindow
Основные сведения о составном элементе управления
Общие сведения о классе
Вопросы и ответы о сдерживании элементов управления