Teilen über


CAxWindow-Klasse

Diese Klasse stellt Methoden zum Bearbeiten eines Fensters bereit, in dem ein ActiveX-Steuerelement gehostet wird.

Wichtig

Diese Klasse und ihre Member können nicht in Anwendungen verwendet werden, die in der Windows-Runtime ausgeführt werden.

Syntax

class CAxWindow : public CWindow

Mitglieder

Methoden

Function Beschreibung
AttachControl Fügt ein vorhandenes ActiveX-Steuerelement an das CAxWindow Objekt an.
CAxWindow Erstellt ein CAxWindow-Objekt.
Createcontrol Erstellt ein ActiveX-Steuerelement, initialisiert es und hostet es im CAxWindow Fenster.
CreateControlEx Erstellt ein ActiveX-Steuerelement und ruft einen Schnittstellenzeiger (oder Zeiger) aus dem Steuerelement ab.
GetWndClassName (Statisch) Ruft den vordefinierten Klassennamen des CAxWindow Objekts ab.
QueryControl Ruft das IUnknown gehostete ActiveX-Steuerelement ab.
QueryHost Ruft den IUnknown Zeiger des CAxWindow Objekts ab.
SetExternalDispatch Legt die externe Verteilerschnittstelle fest, die CAxWindow vom Objekt verwendet wird.
SetExternalUIHandler Legt die externe IDocHostUIHandler Schnittstelle fest, die CAxWindow vom Objekt verwendet wird.

Operatoren

Operator Beschreibung
operator = Weist einem vorhandenen CAxWindow Objekt einen HWND zu.

Hinweise

Diese Klasse stellt Methoden zum Bearbeiten eines Fensters bereit, in dem ein ActiveX-Steuerelement gehostet wird. Das Hosting wird von " AtlAxWin80" bereitgestellt, das von CAxWindow.

Klasse CAxWindow wird als Spezialisierung der CAxWindowT Klasse implementiert. Diese Spezialisierung wird wie folgt deklariert:

typedef CAxWindowT<CWindow> CAxWindow;

Wenn Sie die Basisklasse ändern müssen, können Sie die neue Basisklasse als Vorlagenargument verwenden CAxWindowT und angeben.

Anforderungen

Kopfzeile: atlwin.h

CAxWindow::AttachControl

Erstellt ein neues Hostobjekt, wenn es noch nicht vorhanden ist, und fügt das angegebene Steuerelement an den Host an.

HRESULT AttachControl(
    IUnknown* pControl,
    IUnknown** ppUnkContainer);

Parameter

pControl
[in] Ein Zeiger auf das IUnknown Steuerelement.

ppUnkContainer
[out] Ein Zeiger auf den IUnknown Host (das AxWin Objekt).

Rückgabewert

Ein HRESULT-Standardwert.

Hinweise

Das angefügte Steuerelementobjekt muss vor dem Aufrufen AttachControlkorrekt initialisiert werden.

CAxWindow::CAxWindow

Erstellt ein CAxWindow Objekt mithilfe eines vorhandenen Fensterobjekthandles.

CAxWindow(HWND hWnd = NULL);

Parameter

hWnd
Ein Handle zu einem vorhandenen Fensterobjekt.

CAxWindow::CreateControl

Erstellt ein ActiveX-Steuerelement, initialisiert es und hostet es im angegebenen Fenster.

HRESULT CreateControl(
    LPCOLESTR lpszName,
    IStream* pStream = NULL,
    IUnknown** ppUnkContainer = NULL);

HRESULT CreateControl(
    DWORD dwResID,
    IStream* pStream = NULL,
    IUnknown** ppUnkContainer = NULL);

Parameter

lpszName
Ein Zeiger auf eine Zeichenfolge zum Erstellen des Steuerelements. Muss auf eine der folgenden Arten formatiert werden:

  • Eine ProgID, z. B. "MSCAL.Calendar.7"

  • Eine CLSID wie z. B. "{8E27C92B-1264-101C-8A2F-040224009C02}"

  • Eine URL, z. B. "<https://www.microsoft.com>"

  • Ein Verweis auf ein aktives Dokument, z. B. "file://\\\Documents\MyDoc.doc"

  • Ein HTML-Fragment, z. B. "MSHTML:\<HTML>\<BODY>This is a line of text\</BODY>\</HTML>"

    Hinweis

    "MSHTML:" muss dem HTML-Fragment vorangestellt werden, damit es als MSHTML-Stream festgelegt wird. Nur die ProgID und CLSID werden auf Windows Mobile-Plattformen unterstützt. Windows CE embedded platforms, other than Windows Mobile with support for CE IE support all types including ProgID, CLSID, URL, reference to active document, and fragment of HTML.

pStream
[in] Ein Zeiger auf einen Datenstrom, der zum Initialisieren der Eigenschaften des Steuerelements verwendet wird. Kann den Wert NULL haben.

ppUnkContainer
[out] Die Adresse eines Zeigers, der den IUnknown Container empfängt. Kann den Wert NULL haben.

dwResID
Die Ressourcen-ID einer HTML-Ressource. Das WebBrowser-Steuerelement wird erstellt und mit der angegebenen Ressource geladen.

Rückgabewert

Ein HRESULT-Standardwert.

Hinweise

Wenn die zweite Version dieser Methode verwendet wird, wird ein HTML-Steuerelement erstellt und an die ressource gebunden, die durch dwResID identifiziert wird.

Diese Methode gibt Ihnen dasselbe Ergebnis wie das Aufrufen:

AtlAxCreateControlEx(lpszName, hWnd, pStream, NULL, NULL, GUID_NULL, NULL);

Siehe CAxWindow2T::CreateControlLic zum Erstellen, Initialisieren und Hosten eines lizenzierten ActiveX-Steuerelements.

Beispiel

Ein Beispiel, das verwendet, CreateControlfinden Sie unter Hosten von ActiveX-Steuerelementen mit ATL AXHost.

CAxWindow::CreateControlEx

Erstellt ein ActiveX-Steuerelement, initialisiert es und hostet es im angegebenen Fenster.

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);

Parameter

lpszName
Ein Zeiger auf eine Zeichenfolge zum Erstellen des Steuerelements. Muss auf eine der folgenden Arten formatiert werden:

  • Eine ProgID, z. B. "MSCAL.Calendar.7"

  • Eine CLSID wie z. B. "{8E27C92B-1264-101C-8A2F-040224009C02}"

  • Eine URL, z. B. "<https://www.microsoft.com>"

  • Ein Verweis auf ein aktives Dokument, z. B. "file://\\\Documents\MyDoc.doc"

  • Ein HTML-Fragment, z. B. "MSHTML:\<HTML>\<BODY>This is a line of text\</BODY>\</HTML>"

    Hinweis

    "MSHTML:" muss dem HTML-Fragment vorangestellt werden, damit es als MSHTML-Stream festgelegt wird. Nur die ProgID und CLSID werden auf Windows Mobile-Plattformen unterstützt. Windows CE embedded platforms, other than Windows Mobile with support for CE IE support all types including ProgID, CLSID, URL, reference to active document, and fragment of HTML.

pStream
[in] Ein Zeiger auf einen Datenstrom, der zum Initialisieren der Eigenschaften des Steuerelements verwendet wird. Kann den Wert NULL haben.

ppUnkContainer
[out] Die Adresse eines Zeigers, der den IUnknown Container empfängt. Kann den Wert NULL haben.

ppUnkControl
[out] Die Adresse eines Zeigers, der das IUnknown Steuerelement erhält. Kann den Wert NULL haben.

iidSink
[in] Der Schnittstellenbezeichner einer ausgehenden Schnittstelle für das enthaltene Objekt. Kann IID_NULL werden.

PunkSink
[in] Ein Zeiger auf die IUnknown Schnittstelle des Sinkobjekts, das mit dem Verbindungspunkt des enthaltenen Objekts verbunden werden soll, das durch iidSink angegeben wird.

dwResID
[in] Die Ressourcen-ID einer HTML-Ressource. Das WebBrowser-Steuerelement wird erstellt und mit der angegebenen Ressource geladen.

Rückgabewert

Ein HRESULT-Standardwert.

Hinweise

Diese Methode ähnelt CAxWindow::CreateControl, aber im Gegensatz zu dieser Methode CreateControlEx können Sie auch einen Schnittstellenzeiger auf das neu erstellte Steuerelement empfangen und eine Ereignissenke einrichten, um Vom Steuerelement ausgelöste Ereignisse zu empfangen.

Siehe CAxWindow2T::CreateControlLicEx zum Erstellen, Initialisieren und Hosten eines lizenzierten ActiveX-Steuerelements.

Beispiel

Ein Beispiel, das verwendet, CreateControlExfinden Sie unter Hosten von ActiveX-Steuerelementen mit ATL AXHost.

CAxWindow::GetWndClassName

Ruft den Namen der Fensterklasse ab.

static LPCTSTR GetWndClassName();

Rückgabewert

Ein Zeiger auf eine Zeichenfolge mit dem Namen der Fensterklasse, die nicht lizenzierte ActiveX-Steuerelemente hosten kann.

CAxWindow::operator =

Weist einem vorhandenen CAxWindow Objekt einen HWND zu.

CAxWindow<TBase>& operator=(HWND hWnd);

Parameter

hWnd
Ein Handle für ein vorhandenes Fenster.

Rückgabewert

Gibt einen Verweis auf das aktuelle CAxWindow-Objekt zurück.

CAxWindow::QueryControl

Ruft die angegebene Schnittstelle des gehosteten Steuerelements ab.

HRESULT QueryControl(REFIID iid, void** ppUnk);
template <class  Q>
HRESULT QueryControl(Q** ppUnk);

Parameter

Iid
[in] Gibt die IID der Schnittstelle des Steuerelements an.

ppUnk
[out] Ein Zeiger auf die Schnittstelle des Steuerelements. In der Vorlagenversion dieser Methode ist keine Referenz-ID erforderlich, solange eine typierte Schnittstelle mit einer zugeordneten UUID übergeben wird.

Q
[in] Die Schnittstelle, für die abgefragt wird.

Rückgabewert

Ein HRESULT-Standardwert.

CAxWindow::QueryHost

Gibt die angegebene Schnittstelle des Hosts zurück.

HRESULT QueryHost(REFIID iid, void** ppUnk);
template <class  Q>
HRESULT QueryHost(Q** ppUnk);

Parameter

Iid
[in] Gibt die IID der Schnittstelle des Steuerelements an.

ppUnk
[out] Ein Zeiger auf die Schnittstelle auf dem Host. In der Vorlagenversion dieser Methode ist keine Referenz-ID erforderlich, solange eine typierte Schnittstelle mit einer zugeordneten UUID übergeben wird.

Q
[in] Die Schnittstelle, für die abgefragt wird.

Rückgabewert

Ein HRESULT-Standardwert.

Hinweise

Die Schnittstelle des Hosts ermöglicht den Zugriff auf die zugrunde liegende Funktionalität des Fensterhostingcodes, implementiert von AxWin.

CAxWindow::SetExternalDispatch

Legt die externe Verteilerschnittstelle für das CAxWindow Objekt fest.

HRESULT SetExternalDispatch(IDispatch* pDisp);

Parameter

pDisp
[in] Ein Zeiger auf eine IDispatch Schnittstelle.

Rückgabewert

Ein HRESULT-Standardwert.

CAxWindow::SetExternalUIHandler

Legt die externe IDocHostUIHandlerDispatch-Schnittstelle für das CAxWindow Objekt fest.

HRESULT SetExternalUIHandler(IDocHostUIHandlerDispatch* pUIHandler);

Parameter

pUIHandler
[in] Ein Zeiger auf eine IDocHostUIHandlerDispatch Schnittstelle.

Rückgabewert

Ein HRESULT-Standardwert.

Hinweise

Die externe IDocHostUIHandlerDispatch Schnittstelle wird von Steuerelementen verwendet, die die Website des Hosts für die IDocHostUIHandlerDispatch Schnittstelle abfragen. Das WebBrowser-Steuerelement ist ein Steuerelement, das dies tut.

Siehe auch

ATLCON-Beispiel
CWindow-Klasse
Grundlagen von zusammengesetzten Steuerelementen
Klassenübersicht
Häufig gestellte Fragen zum Einschluss von Steuerelementen