Udostępnij za pośrednictwem


Klasa CAxWindow

Ta klasa udostępnia metody manipulowania oknem hostujących kontrolkę ActiveX.

Ważne

Tej klasy i jej składowych nie można używać w aplikacjach wykonywanych w środowisko wykonawcze systemu Windows.

Składnia

class CAxWindow : public CWindow

Elementy członkowskie

Metody

Function opis
AttachControl Dołącza istniejącą kontrolkę CAxWindow ActiveX do obiektu.
CAxWindow CAxWindow Tworzy obiekt.
CreateControl Tworzy kontrolkę ActiveX, inicjuje ją i hostuje ją w CAxWindow oknie.
CreateControlEx Tworzy kontrolkę ActiveX i pobiera wskaźnik interfejsu (lub wskaźniki) z kontrolki.
GetWndClassName (Statyczne) Pobiera wstępnie zdefiniowaną nazwę CAxWindow klasy obiektu.
Kontrola zapytań IUnknown Pobiera hostowaną kontrolkę ActiveX.
QueryHost IUnknown Pobiera wskaźnik CAxWindow obiektu.
SetExternalDispatch Ustawia zewnętrzny interfejs wysyłania CAxWindow używany przez obiekt .
SetExternalUIHandler Ustawia interfejs zewnętrzny IDocHostUIHandler używany przez CAxWindow obiekt.

Operatory

Operator opis
operator = Przypisuje HWND do istniejącego CAxWindow obiektu.

Uwagi

Ta klasa udostępnia metody manipulowania oknem, które hostuje kontrolkę ActiveX. Hosting jest dostarczany przez " AtlAxWin80", który jest opakowany przez CAxWindow.

Klasa CAxWindow jest implementowana jako specjalizacja CAxWindowT klasy. Ta specjalizacja jest zadeklarowana jako:

typedef CAxWindowT<CWindow> CAxWindow;

Jeśli musisz zmienić klasę bazową, możesz użyć CAxWindowT i określić nową klasę bazową jako argument szablonu.

Wymagania

Nagłówek: atlwin.h

CAxWindow::AttachControl

Tworzy nowy obiekt hosta, jeśli jeszcze go nie ma i dołącza określoną kontrolkę do hosta.

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

Parametry

pControl
[in] Wskaźnik do IUnknown kontrolki.

ppUnkContainer
[out] Wskaźnik do IUnknown hosta ( AxWin obiektu).

Wartość zwracana

Standardowa wartość HRESULT.

Uwagi

Obiekt sterujący, który jest dołączony, musi być poprawnie zainicjowany przed wywołaniem metody AttachControl.

CAxWindow::CAxWindow

CAxWindow Tworzy obiekt przy użyciu istniejącego uchwytu obiektu okna.

CAxWindow(HWND hWnd = NULL);

Parametry

hWnd
Uchwyt do istniejącego obiektu okna.

CAxWindow::CreateControl

Tworzy formant ActiveX, inicjuje go i umieszcza w określonym oknie.

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

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

Parametry

lpszName
Wskaźnik do ciągu w celu utworzenia kontrolki. Należy sformatować w jeden z następujących sposobów:

  • Identyfikator progowy, taki jak "MSCAL.Calendar.7"

  • Identyfikator CLSID, taki jak "{8E27C92B-1264-101C-8A2F-040224009C02}"

  • Adres URL, taki jak "<https://www.microsoft.com>"

  • Odwołanie do aktywnego dokumentu, takiego jak "file://\\\Documents\MyDoc.doc"

  • Fragment kodu HTML, taki jak "MSHTML:\<HTML>\<BODY>This is a line of text\</BODY>\</HTML>"

    Uwaga

    "MSHTML:" musi poprzedzać fragment HTML, tak aby został wyznaczony jako strumień MSHTML. Tylko identyfikator ProgID i CLSID są obsługiwane na platformach Windows Mobile. Platformy osadzone systemu Windows CE, inne niż Windows Mobile z obsługą ce IE obsługują wszystkie typy, w tym ProgID, CLSID, URL, odwołanie do aktywnego dokumentu i fragment HTML.

pStream
[in] Wskaźnik do strumienia używanego do inicjowania właściwości kontrolki. Może mieć wartość NULL.

ppUnkContainer
[out] Adres wskaźnika, który otrzyma IUnknown kontener. Może mieć wartość NULL.

dwResID
Identyfikator zasobu HTML. Kontrolka WebBrowser zostanie utworzona i załadowana z określonym zasobem.

Wartość zwracana

Standardowa wartość HRESULT.

Uwagi

Jeśli jest używana druga wersja tej metody, zostanie utworzona kontrolka HTML i powiązana z zasobem zidentyfikowanym przez dwResID.

Ta metoda daje taki sam wynik jak wywołanie:

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

Zobacz CAxWindow2T::CreateControlLic , aby utworzyć, zainicjować i hostować licencjonowany formant ActiveX.

Przykład

Zobacz Hostowanie kontrolek ActiveX przy użyciu atL AXHost , aby zapoznać się z przykładem korzystającym z elementu CreateControl.

CAxWindow::CreateControlEx

Tworzy formant ActiveX, inicjuje go i umieszcza w określonym oknie.

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
Wskaźnik do ciągu w celu utworzenia kontrolki. Należy sformatować w jeden z następujących sposobów:

  • Identyfikator progowy, taki jak "MSCAL.Calendar.7"

  • Identyfikator CLSID, taki jak "{8E27C92B-1264-101C-8A2F-040224009C02}"

  • Adres URL, taki jak "<https://www.microsoft.com>"

  • Odwołanie do aktywnego dokumentu, takiego jak "file://\\\Documents\MyDoc.doc"

  • Fragment kodu HTML, taki jak "MSHTML:\<HTML>\<BODY>This is a line of text\</BODY>\</HTML>"

    Uwaga

    "MSHTML:" musi poprzedzać fragment HTML, tak aby został wyznaczony jako strumień MSHTML. Tylko identyfikator ProgID i CLSID są obsługiwane na platformach Windows Mobile. Platformy osadzone systemu Windows CE, inne niż Windows Mobile z obsługą ce IE obsługują wszystkie typy, w tym ProgID, CLSID, URL, odwołanie do aktywnego dokumentu i fragment HTML.

pStream
[in] Wskaźnik do strumienia używanego do inicjowania właściwości kontrolki. Może mieć wartość NULL.

ppUnkContainer
[out] Adres wskaźnika, który otrzyma IUnknown kontener. Może mieć wartość NULL.

ppUnkControl
[out] Adres wskaźnika, który otrzyma IUnknown kontrolkę . Może mieć wartość NULL.

iidSink
[in] Identyfikator interfejsu interfejsu wychodzącego w zawartym obiekcie. Może być IID_NULL.

punkSink
[in] Wskaźnik do IUnknown interfejsu obiektu ujścia, który ma być połączony z punktem połączenia w obiekcie zawartym określonym przez iidSink.

dwResID
[in] Identyfikator zasobu HTML. Kontrolka WebBrowser zostanie utworzona i załadowana z określonym zasobem.

Wartość zwracana

Standardowa wartość HRESULT.

Uwagi

Ta metoda jest podobna do CAxWindow::CreateControl, ale w przeciwieństwie do tej metody, CreateControlEx umożliwia również odbieranie wskaźnika interfejsu do nowo utworzonej kontrolki i skonfigurowanie ujścia zdarzeń w celu odbierania zdarzeń wyzwolonych przez kontrolkę.

Zobacz CAxWindow2T::CreateControlLicEx , aby utworzyć, zainicjować i hostować licencjonowany formant ActiveX.

Przykład

Zobacz Hostowanie kontrolek ActiveX przy użyciu atL AXHost , aby zapoznać się z przykładem korzystającym z elementu CreateControlEx.

CAxWindow::GetWndClassName

Pobiera nazwę klasy okna.

static LPCTSTR GetWndClassName();

Wartość zwracana

Wskaźnik do ciągu zawierającego nazwę klasy okna, która może hostować nielicencjonowane kontrolki ActiveX.

CAxWindow::operator =

Przypisuje HWND do istniejącego CAxWindow obiektu.

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

Parametry

hWnd
Uchwyt do istniejącego okna.

Wartość zwracana

Zwraca odwołanie do bieżącego CAxWindow obiektu.

CAxWindow::QueryControl

Pobiera określony interfejs hostowanej kontrolki.

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

Parametry

identyfikator iid
[in] Określa identyfikator IID interfejsu kontrolki.

ppUnk
[out] Wskaźnik do interfejsu kontrolki. W wersji szablonu tej metody nie ma potrzeby identyfikatora odwołania, o ile jest przekazywany interfejs wpisany ze skojarzonym identyfikatorem UUID.

Q
[in] Interfejs, dla którego jest wykonywane zapytanie.

Wartość zwracana

Standardowa wartość HRESULT.

CAxWindow::QueryHost

Zwraca określony interfejs hosta.

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

Parametry

identyfikator iid
[in] Określa identyfikator IID interfejsu kontrolki.

ppUnk
[out] Wskaźnik do interfejsu na hoście. W wersji szablonu tej metody nie ma potrzeby identyfikatora odwołania, o ile jest przekazywany interfejs wpisany ze skojarzonym identyfikatorem UUID.

Q
[in] Interfejs, dla którego jest wykonywane zapytanie.

Wartość zwracana

Standardowa wartość HRESULT.

Uwagi

Interfejs hosta umożliwia dostęp do podstawowych funkcji kodu hostingu okien implementowanych przez AxWinprogram .

CAxWindow::SetExternalDispatch

Ustawia zewnętrzny interfejs wysyłania CAxWindow dla obiektu.

HRESULT SetExternalDispatch(IDispatch* pDisp);

Parametry

pDisp
[in] Wskaźnik do interfejsu IDispatch .

Wartość zwracana

Standardowa wartość HRESULT.

CAxWindow::SetExternalUIHandler

Ustawia zewnętrzny interfejs IDocHostUIHandlerDispatch dla CAxWindow obiektu.

HRESULT SetExternalUIHandler(IDocHostUIHandlerDispatch* pUIHandler);

Parametry

Program obsługi pUI
[in] Wskaźnik do interfejsu IDocHostUIHandlerDispatch .

Wartość zwracana

Standardowa wartość HRESULT.

Uwagi

Interfejs zewnętrzny IDocHostUIHandlerDispatch jest używany przez kontrolki, które wysyłają zapytania do witryny hosta dla interfejsu IDocHostUIHandlerDispatch . Kontrolka WebBrowser to jedna kontrolka, która to robi.

Zobacz też

Przykład ATLCON
Klasa CWindow
Podstawy sterowania złożonego
Omówienie klasy
Często zadawane pytania dotyczące zawierania kontrolek