CAxWindow – třída
Tato třída poskytuje metody pro manipulaci s oknem, které je hostitelem ovládacího prvku ActiveX.
Důležité
Tuto třídu a její členy nelze použít v aplikacích, které se spouští v prostředí Windows Runtime.
Syntaxe
class CAxWindow : public CWindow
Členové
Metody
Function | Popis |
---|---|
AttachControl | Připojí existující ovládací prvek ActiveX k objektu CAxWindow . |
CAxWindow | CAxWindow Vytvoří objekt. |
CreateControl | Vytvoří ovládací prvek ActiveX, inicializuje ho a hostuje ho CAxWindow v okně. |
CreateControlEx | Vytvoří ovládací prvek ActiveX a načte ukazatel rozhraní (nebo ukazatele) z ovládacího prvku. |
GetWndClassName | (Statické) Načte předdefinovaný název třídy objektu CAxWindow . |
QueryControl | IUnknown Načte hostovaný ovládací prvek ActiveX. |
QueryHost | IUnknown Načte ukazatel objektuCAxWindow . |
SetExternalDispatch | Nastaví rozhraní externího odeslání používaného objektem CAxWindow . |
SetExternalUIHandler | Nastaví externí IDocHostUIHandler rozhraní používané objektem CAxWindow . |
Operátory
Operátor | Popis |
---|---|
operator = | Přiřadí HWND existujícímu CAxWindow objektu. |
Poznámky
Tato třída poskytuje metody pro manipulaci s oknem, které je hostitelem ovládacího prvku ActiveX. Hostování poskytuje " AtlAxWin80", který je zabalený CAxWindow
.
Třída CAxWindow
se implementuje jako specializace CAxWindowT
třídy. Tato specializace je deklarována takto:
typedef CAxWindowT<CWindow> CAxWindow;
Pokud potřebujete změnit základní třídu, můžete použít CAxWindowT
a zadat novou základní třídu jako argument šablony.
Požadavky
Hlavička: atlwin.h
CAxWindow::AttachControl
Vytvoří nový hostitelský objekt, pokud ještě není k dispozici, a připojí zadaný ovládací prvek k hostiteli.
HRESULT AttachControl(
IUnknown* pControl,
IUnknown** ppUnkContainer);
Parametry
pControl
[v] Ukazatel na IUnknown
ovládací prvek.
ppUnkContainer
[ven] Ukazatel na IUnknown
hostitele ( AxWin
objekt).
Návratová hodnota
Standardní hodnota HRESULT.
Poznámky
Před voláním AttachControl
musí být objekt ovládacího prvku, který je připojen, správně inicializován .
CAxWindow::CAxWindow
CAxWindow
Vytvoří objekt pomocí existujícího popisovače objektu okna.
CAxWindow(HWND hWnd = NULL);
Parametry
hWnd
Popisovač existujícího objektu okna.
CAxWindow::CreateControl
Vytvoří, inicializuje a hostuje ovládací prvek ActiveX v zadaném okně.
HRESULT CreateControl(
LPCOLESTR lpszName,
IStream* pStream = NULL,
IUnknown** ppUnkContainer = NULL);
HRESULT CreateControl(
DWORD dwResID,
IStream* pStream = NULL,
IUnknown** ppUnkContainer = NULL);
Parametry
lpszName
Ukazatel na řetězec pro vytvoření ovládacího prvku. Musí být formátován jedním z následujících způsobů:
Identifikátor ProgID, například
"MSCAL.Calendar.7"
CLSID, například
"{8E27C92B-1264-101C-8A2F-040224009C02}"
Adresa URL, například
"<https://www.microsoft.com>"
Odkaz na aktivní dokument, například
"file://\\\Documents\MyDoc.doc"
Fragment kódu HTML, jako je například
"MSHTML:\<HTML>\<BODY>This is a line of text\</BODY>\</HTML>"
Poznámka:
"MSHTML:"
musí předcházet fragment HTML tak, aby byl určen jako datový proud MSHTML. Na platformách Windows Mobile se podporují jenom identifikátory ProgID a CLSID. systém Windows CE vložené platformy kromě Windows Mobile s podporou CE IE podporují všechny typy, včetně ProgID, CLSID, URL, odkazu na aktivní dokument a fragment HTML.
pStream
[v] Ukazatel na datový proud, který se používá k inicializaci vlastností ovládacího prvku. Může mít hodnotu NULL.
ppUnkContainer
[ven] Adresa ukazatele, který obdrží IUnknown
kontejner. Může mít hodnotu NULL.
dwResID
ID prostředku HTML. Ovládací prvek WebBrowser se vytvoří a načte se zadaným prostředkem.
Návratová hodnota
Standardní hodnota HRESULT.
Poznámky
Pokud se použije druhá verze této metody, vytvoří se ovládací prvek HTML a vázaný na prostředek identifikovaný dwResID.
Tato metoda poskytuje stejný výsledek jako volání:
AtlAxCreateControlEx(lpszName, hWnd, pStream, NULL, NULL, GUID_NULL, NULL);
Viz CAxWindow2T::CreateControlLic k vytvoření, inicializaci a hostování licencovaného ovládacího prvku ActiveX.
Příklad
Viz Hostování ovládacích prvků ActiveX pomocí ATL AXHost pro ukázku, která používá CreateControl
.
CAxWindow::CreateControlEx
Vytvoří, inicializuje a hostuje ovládací prvek ActiveX v zadaném okně.
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);
Parametry
lpszName
Ukazatel na řetězec pro vytvoření ovládacího prvku. Musí být formátován jedním z následujících způsobů:
Identifikátor ProgID, například
"MSCAL.Calendar.7"
CLSID, například
"{8E27C92B-1264-101C-8A2F-040224009C02}"
Adresa URL, například
"<https://www.microsoft.com>"
Odkaz na aktivní dokument, například
"file://\\\Documents\MyDoc.doc"
Fragment kódu HTML, jako je například
"MSHTML:\<HTML>\<BODY>This is a line of text\</BODY>\</HTML>"
Poznámka:
"MSHTML:"
musí předcházet fragment HTML tak, aby byl určen jako datový proud MSHTML. Na platformách Windows Mobile se podporují jenom identifikátory ProgID a CLSID. systém Windows CE vložené platformy kromě Windows Mobile s podporou CE IE podporují všechny typy, včetně ProgID, CLSID, URL, odkazu na aktivní dokument a fragment HTML.
pStream
[v] Ukazatel na datový proud, který se používá k inicializaci vlastností ovládacího prvku. Může mít hodnotu NULL.
ppUnkContainer
[ven] Adresa ukazatele, který obdrží IUnknown
kontejner. Může mít hodnotu NULL.
ppUnkControl
[ven] Adresa ukazatele, který obdrží IUnknown
ovládací prvek. Může mít hodnotu NULL.
iidSink
[v] Identifikátor rozhraní odchozího rozhraní v obsaženém objektu. Může být IID_NULL.
punkSink
[v] Ukazatel na IUnknown
rozhraní objektu jímky, který má být připojen k spojovacímu bodu na obsaženém objektu určeném nástrojem iidSink.
dwResID
[v] ID prostředku HTML. Ovládací prvek WebBrowser se vytvoří a načte se zadaným prostředkem.
Návratová hodnota
Standardní hodnota HRESULT.
Poznámky
Tato metoda je podobná CAxWindow::CreateControl, ale na rozdíl od této metody také CreateControlEx
umožňuje přijmout ukazatel rozhraní na nově vytvořený ovládací prvek a nastavit jímku událostí přijímat události aktivované ovládacím prvku.
Viz CAxWindow2T::CreateControlLicEx k vytvoření, inicializaci a hostování licencovaného ovládacího prvku ActiveX.
Příklad
Viz Hostování ovládacích prvků ActiveX pomocí ATL AXHost pro ukázku, která používá CreateControlEx
.
CAxWindow::GetWndClassName
Načte název třídy okna.
static LPCTSTR GetWndClassName();
Návratová hodnota
Ukazatel na řetězec obsahující název třídy okna, která může hostovat nelicencované ovládací prvky ActiveX.
CAxWindow::operator =
Přiřadí HWND existujícímu CAxWindow
objektu.
CAxWindow<TBase>& operator=(HWND hWnd);
Parametry
hWnd
Popisovač existujícího okna.
Návratová hodnota
Vrátí odkaz na aktuální CAxWindow
objekt.
CAxWindow::QueryControl
Načte zadané rozhraní hostovaného ovládacího prvku.
HRESULT QueryControl(REFIID iid, void** ppUnk);
template <class Q>
HRESULT QueryControl(Q** ppUnk);
Parametry
iid
[v] Určuje IID rozhraní ovládacího prvku.
ppUnk
[ven] Ukazatel na rozhraní ovládacího prvku. Ve verzi šablony této metody není nutné id odkazu, pokud je předáno typové rozhraní s přidruženým UUID.
Q
[v] Rozhraní, na které se dotazuje.
Návratová hodnota
Standardní hodnota HRESULT.
CAxWindow::QueryHost
Vrátí zadané rozhraní hostitele.
HRESULT QueryHost(REFIID iid, void** ppUnk);
template <class Q>
HRESULT QueryHost(Q** ppUnk);
Parametry
iid
[v] Určuje IID rozhraní ovládacího prvku.
ppUnk
[ven] Ukazatel na rozhraní na hostiteli. Ve verzi šablony této metody není nutné id odkazu, pokud je předáno typové rozhraní s přidruženým UUID.
Q
[v] Rozhraní, na které se dotazuje.
Návratová hodnota
Standardní hodnota HRESULT.
Poznámky
Rozhraní hostitele umožňuje přístup k základním funkcím kódu hostujícího okna, implementovaného uživatelem AxWin
.
CAxWindow::SetExternalDispatch
Nastaví rozhraní externího odeslání objektu CAxWindow
.
HRESULT SetExternalDispatch(IDispatch* pDisp);
Parametry
pDisp
[v] Ukazatel na IDispatch
rozhraní.
Návratová hodnota
Standardní hodnota HRESULT.
CAxWindow::SetExternalUIHandler
Nastaví externí IDocHostUIHandlerDispatch rozhraní objektu CAxWindow
.
HRESULT SetExternalUIHandler(IDocHostUIHandlerDispatch* pUIHandler);
Parametry
pUIHandler
[v] Ukazatel na IDocHostUIHandlerDispatch
rozhraní.
Návratová hodnota
Standardní hodnota HRESULT.
Poznámky
Externí IDocHostUIHandlerDispatch
rozhraní používají ovládací prvky, které dotazují web hostitele pro IDocHostUIHandlerDispatch
rozhraní. Ovládací prvek WebBrowser je jeden ovládací prvek, který to dělá.
Viz také
Ukázka ATLCON
CWindow – třída
Základy složeného ovládacího prvku
Přehled třídy
Nejčastější dotazy k zahrnutí ovládacích prvků