Класс CAxWindow
Этот класс предоставляет методы для управления окном, на котором размещен элемент 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
Основные сведения о составном элементе управления
Общие сведения о классе
Вопросы и ответы о сдерживании элементов управления