Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Примечание.
Библиотека активных шаблонов (ATL) продолжает поддерживаться. Однако мы больше не добавляем функции или обновляем документацию.
Этот класс предоставляет методы для управления окном, на котором размещен элемент 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.
Пример
Пример использования элементов ActiveX см. в разделе CreateControl".
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.
Пример
Пример использования элементов ActiveX см. в разделе CreateControlEx".
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
Основные сведения о составном элементе управления
Общие сведения о классе
Вопросы и ответы о сдерживании элементов управления