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 AxWin
program .
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