Classe CAxWindow
Questa classe fornisce metodi per la modifica di una finestra che ospita un controllo ActiveX.
Importante
Questa classe e i relativi membri non possono essere usati nelle applicazioni eseguite in Windows Runtime.
Sintassi
class CAxWindow : public CWindow
Membri
Metodi
Funzione | Descrizione |
---|---|
AttachControl | Collega un controllo ActiveX esistente all'oggetto CAxWindow . |
CAxWindow | Costruisce un oggetto CAxWindow . |
CreateControl | Crea un controllo ActiveX, lo inizializza e lo ospita nella CAxWindow finestra. |
CreateControlEx | Crea un controllo ActiveX e recupera un puntatore di interfaccia (o puntatori) dal controllo . |
GetWndClassName | (Statico) Recupera il nome predefinito della classe dell'oggetto CAxWindow . |
QueryControl | Recupera l'oggetto IUnknown del controllo ActiveX ospitato. |
QueryHost | Recupera il IUnknown puntatore dell'oggetto CAxWindow . |
SetExternalDispatch | Imposta l'interfaccia dispatch esterna utilizzata dall'oggetto CAxWindow . |
SetExternalUIHandler | Imposta l'interfaccia esterna IDocHostUIHandler utilizzata dall'oggetto CAxWindow . |
Operatori
Operatore | Descrizione |
---|---|
operator = | Assegna un HWND a un oggetto esistente CAxWindow . |
Osservazioni:
Questa classe fornisce metodi per la modifica di una finestra che ospita un controllo ActiveX. L'hosting viene fornito da " AtlAxWin80", di cui viene eseguito il wrapping da CAxWindow
.
La classe CAxWindow
viene implementata come specializzazione della CAxWindowT
classe . Questa specializzazione viene dichiarata come:
typedef CAxWindowT<CWindow> CAxWindow;
Se è necessario modificare la classe di base, è possibile usare CAxWindowT
e specificare la nuova classe di base come argomento modello.
Requisiti
Intestazione: atlwin.h
CAxWindow::AttachControl
Crea un nuovo oggetto host se non è già presente e collega il controllo specificato all'host.
HRESULT AttachControl(
IUnknown* pControl,
IUnknown** ppUnkContainer);
Parametri
pControl
[in] Puntatore all'oggetto IUnknown
del controllo .
ppUnkContainer
[out] Puntatore all'oggetto IUnknown
dell'host (l'oggetto AxWin
).
Valore restituito
Valore HRESULT standard.
Osservazioni:
L'oggetto di controllo associato deve essere inizializzato correttamente prima di chiamare AttachControl
.
CAxWindow::CAxWindow
Costruisce un CAxWindow
oggetto utilizzando un handle di oggetto finestra esistente.
CAxWindow(HWND hWnd = NULL);
Parametri
hWnd
Handle per un oggetto finestra esistente.
CAxWindow::CreateControl
Crea un controllo ActiveX, lo inizializza e lo ospita nella finestra specificata.
HRESULT CreateControl(
LPCOLESTR lpszName,
IStream* pStream = NULL,
IUnknown** ppUnkContainer = NULL);
HRESULT CreateControl(
DWORD dwResID,
IStream* pStream = NULL,
IUnknown** ppUnkContainer = NULL);
Parametri
lpszName
Puntatore a una stringa per creare il controllo. Deve essere formattato in uno dei modi seguenti:
ProgID, ad esempio
"MSCAL.Calendar.7"
CLSID, ad esempio
"{8E27C92B-1264-101C-8A2F-040224009C02}"
URL, ad esempio
"<https://www.microsoft.com>"
Riferimento a un documento attivo, ad esempio
"file://\\\Documents\MyDoc.doc"
Frammento di codice HTML, ad esempio
"MSHTML:\<HTML>\<BODY>This is a line of text\</BODY>\</HTML>"
Nota
"MSHTML:"
deve precedere il frammento HTML in modo che sia designato come flusso MSHTML. Nelle piattaforme Windows Mobile sono supportati solo ProgID e CLSID. Le piattaforme incorporate di Windows CE, diverse da Windows Mobile con supporto per Internet Explorer ce supportano tutti i tipi, tra cui ProgID, CLSID, URL, riferimento al documento attivo e frammento di HTML.
pStream
[in] Puntatore a un flusso utilizzato per inizializzare le proprietà del controllo. Può essere NULL.
ppUnkContainer
[out] Indirizzo di un puntatore che riceverà l'oggetto IUnknown
del contenitore. Può essere NULL.
dwResID
ID risorsa di una risorsa HTML. Il controllo WebBrowser verrà creato e caricato con la risorsa specificata.
Valore restituito
Valore HRESULT standard.
Osservazioni:
Se viene utilizzata la seconda versione di questo metodo, viene creato e associato un controllo HTML alla risorsa identificata da dwResID.
Questo metodo offre lo stesso risultato della chiamata:
AtlAxCreateControlEx(lpszName, hWnd, pStream, NULL, NULL, GUID_NULL, NULL);
Vedere CAxWindow2T::CreateControlLic per creare, inizializzare e ospitare un controllo ActiveX concesso in licenza.
Esempio
Per un esempio che usa , vedere Hosting di controlli ActiveX tramite ATL AXHost.CreateControl
CAxWindow::CreateControlEx
Crea un controllo ActiveX, lo inizializza e lo ospita nella finestra specificata.
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);
Parametri
lpszName
Puntatore a una stringa per creare il controllo. Deve essere formattato in uno dei modi seguenti:
ProgID, ad esempio
"MSCAL.Calendar.7"
CLSID, ad esempio
"{8E27C92B-1264-101C-8A2F-040224009C02}"
URL, ad esempio
"<https://www.microsoft.com>"
Riferimento a un documento attivo, ad esempio
"file://\\\Documents\MyDoc.doc"
Frammento di codice HTML, ad esempio
"MSHTML:\<HTML>\<BODY>This is a line of text\</BODY>\</HTML>"
Nota
"MSHTML:"
deve precedere il frammento HTML in modo che sia designato come flusso MSHTML. Nelle piattaforme Windows Mobile sono supportati solo ProgID e CLSID. Le piattaforme incorporate di Windows CE, diverse da Windows Mobile con supporto per Internet Explorer ce supportano tutti i tipi, tra cui ProgID, CLSID, URL, riferimento al documento attivo e frammento di HTML.
pStream
[in] Puntatore a un flusso utilizzato per inizializzare le proprietà del controllo. Può essere NULL.
ppUnkContainer
[out] Indirizzo di un puntatore che riceverà l'oggetto IUnknown
del contenitore. Può essere NULL.
ppUnkControl
[out] Indirizzo di un puntatore che riceverà l'oggetto IUnknown
del controllo . Può essere NULL.
iidSink
[in] Identificatore dell'interfaccia di un'interfaccia in uscita nell'oggetto contenuto. Può essere IID_NULL.
punkSink
[in] Puntatore all'interfaccia dell'oggetto IUnknown
sink da connettere al punto di connessione sull'oggetto contenuto specificato da iidSink.
dwResID
[in] ID risorsa di una risorsa HTML. Il controllo WebBrowser verrà creato e caricato con la risorsa specificata.
Valore restituito
Valore HRESULT standard.
Osservazioni:
Questo metodo è simile a CAxWindow::CreateControl, ma a differenza di questo metodo consente CreateControlEx
anche di ricevere un puntatore di interfaccia al controllo appena creato e di configurare un sink di eventi per ricevere gli eventi generati dal controllo .
Vedere CAxWindow2T::CreateControlLicEx per creare, inizializzare e ospitare un controllo ActiveX concesso in licenza.
Esempio
Per un esempio che usa , vedere Hosting di controlli ActiveX tramite ATL AXHost.CreateControlEx
CAxWindow::GetWndClassName
Recupera il nome della classe della finestra.
static LPCTSTR GetWndClassName();
Valore restituito
Puntatore a una stringa contenente il nome della classe window che può ospitare controlli ActiveX senza licenza.
CAxWindow::operator =
Assegna un HWND a un oggetto esistente CAxWindow
.
CAxWindow<TBase>& operator=(HWND hWnd);
Parametri
hWnd
Handle per una finestra esistente.
Valore restituito
Restituisce un riferimento all'oggetto CAxWindow
corrente.
CAxWindow::QueryControl
Recupera l'interfaccia specificata del controllo ospitato.
HRESULT QueryControl(REFIID iid, void** ppUnk);
template <class Q>
HRESULT QueryControl(Q** ppUnk);
Parametri
iid
[in] Specifica l'IID dell'interfaccia del controllo.
ppUnk
[out] Puntatore all'interfaccia del controllo. Nella versione del modello di questo metodo non è necessario un ID riferimento, purché venga passata un'interfaccia tipizzata con un UUID associato.
Q
[in] Interfaccia per cui viene eseguita una query.
Valore restituito
Valore HRESULT standard.
CAxWindow::QueryHost
Restituisce l'interfaccia specificata dell'host.
HRESULT QueryHost(REFIID iid, void** ppUnk);
template <class Q>
HRESULT QueryHost(Q** ppUnk);
Parametri
iid
[in] Specifica l'IID dell'interfaccia del controllo.
ppUnk
[out] Puntatore all'interfaccia nell'host. Nella versione del modello di questo metodo non è necessario un ID riferimento, purché venga passata un'interfaccia tipizzata con un UUID associato.
Q
[in] Interfaccia per cui viene eseguita una query.
Valore restituito
Valore HRESULT standard.
Osservazioni:
L'interfaccia dell'host consente l'accesso alla funzionalità sottostante del codice di hosting della finestra, implementato da AxWin
.
CAxWindow::SetExternalDispatch
Imposta l'interfaccia dispatch esterna per l'oggetto CAxWindow
.
HRESULT SetExternalDispatch(IDispatch* pDisp);
Parametri
pDisp
[in] Puntatore a un'interfaccia IDispatch
.
Valore restituito
Valore HRESULT standard.
CAxWindow::SetExternalUIHandler
Imposta l'interfaccia IDocHostUIHandlerDispatch esterna per l'oggetto CAxWindow
.
HRESULT SetExternalUIHandler(IDocHostUIHandlerDispatch* pUIHandler);
Parametri
pUIHandler
[in] Puntatore a un'interfaccia IDocHostUIHandlerDispatch
.
Valore restituito
Valore HRESULT standard.
Osservazioni:
L'interfaccia esterna IDocHostUIHandlerDispatch
viene usata dai controlli che eseguono query sul sito dell'host per l'interfaccia IDocHostUIHandlerDispatch
. Il controllo WebBrowser è un controllo che esegue questa operazione.
Vedi anche
Esempio di ATLCON
Classe CWindow
Nozioni fondamentali sul controllo composito
Cenni preliminari sulla classe
Domande frequenti sul contenimento del controllo