Sdílet prostřednictvím


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 AttachControlmusí 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ů