Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
A Active Template Library (ATL) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.
Esta classe fornece métodos para manipular uma janela que aloja um controlo ActiveX.
Importante
Esta classe e os seus membros não podem ser usados em aplicações que sejam executadas no Windows Runtime.
Sintaxe
class CAxWindow : public CWindow
Membros
Methods
| Função | Description |
|---|---|
| AttachControl | Anexa um controlo ActiveX existente ao CAxWindow objeto. |
| CAxWindow | Constrói um CAxWindow objeto. |
| CreateControl | Cria um controlo ActiveX, inicializa-o e hospeda-o na CAxWindow janela. |
| CreateControlEx | Cria um controlo ActiveX e recupera um ponteiro de interface (ou ponteiros) a partir do controlo. |
| GetWndClassName | (Estática) Recupera o nome pré-definido da classe do CAxWindow objeto. |
| QueryControl | Recupera o IUnknown controlo ActiveX hospedado. |
| QueryHost | Recupera o IUnknown ponteiro do CAxWindow objeto. |
| SetExternalDispatch | Define a interface de despacho externa usada pelo CAxWindow objeto. |
| SetExternalUIHandler | Define a interface externa IDocHostUIHandler usada pelo CAxWindow objeto. |
Operadores
| Operador | Description |
|---|---|
| operador = | Atribui um HWND a um objeto existente CAxWindow . |
Observações
Esta classe fornece métodos para manipular uma janela que hospeda um controlo ActiveX. O alojamento é fornecido por " AtlAxWin80", que é encapsulado por CAxWindow.
A classe CAxWindow é implementada como uma especialização da CAxWindowT classe. Esta especialização é declarada como:
typedef CAxWindowT<CWindow> CAxWindow;
Se precisares de mudar a classe base, podes usar CAxWindowT e especificar a nova classe base como argumento modelo.
Requerimentos
Cabeçalho: atlwin.h
CAxWindow::AttachControl
Cria um novo objeto anfitrião se ainda não estiver presente e anexa o controlo especificado ao anfitrião.
HRESULT AttachControl(
IUnknown* pControl,
IUnknown** ppUnkContainer);
Parâmetros
pControl
[dentro] Um indicador para o IUnknown do controlo.
ppUnkContainer
[fora] Um apontador para o IUnknown do hospedeiro (o AxWin objeto).
Valor de retorno
Um valor HRESULT padrão.
Observações
O objeto de controlo que está a ser anexado deve ser corretamente inicializado antes de chamar AttachControl.
CAxWindow::CAxWindow
Constrói um CAxWindow objeto usando um handle de objeto de janela existente.
CAxWindow(HWND hWnd = NULL);
Parâmetros
hWnd
Um handle para um objeto janela existente.
CAxWindow::CreateControl
Cria um controlo ActiveX, inicializa-o e aloja-o na janela especificada.
HRESULT CreateControl(
LPCOLESTR lpszName,
IStream* pStream = NULL,
IUnknown** ppUnkContainer = NULL);
HRESULT CreateControl(
DWORD dwResID,
IStream* pStream = NULL,
IUnknown** ppUnkContainer = NULL);
Parâmetros
lpszName
Um apontador para uma string para criar o controlo. Deve ser formatado de uma das seguintes formas:
Um ProgID como
"MSCAL.Calendar.7"Um CLSID como
"{8E27C92B-1264-101C-8A2F-040224009C02}"Uma URL como
"<https://www.microsoft.com>"Uma referência a um documento Ativo como
"file://\\\Documents\MyDoc.doc"Um fragmento de HTML como
"MSHTML:\<HTML>\<BODY>This is a line of text\</BODY>\</HTML>"Observação
"MSHTML:"deve preceder o fragmento HTML para que seja designado como um fluxo MSHTML. Apenas o ProgID e o CLSID são suportados nas plataformas Windows Mobile. As plataformas embutidas do Windows CE, exceto o Windows Mobile com suporte para CE IE, suportam todos os tipos, incluindo ProgID, CLSID, URL, referência a documentos ativos e fragmentos de HTML.
pStream
[dentro] Um ponteiro para um fluxo que é usado para inicializar as propriedades do controlo. Pode ser NULL.
ppUnkContainer
[fora] O endereço de um ponteiro que irá receber o IUnknown do contentor. Pode ser NULL.
dwResID
O ID de recurso de um recurso HTML. O controlo do Navegador Web será criado e carregado com o recurso especificado.
Valor de retorno
Um valor HRESULT padrão.
Observações
Se for usada a segunda versão deste método, cria-se um controlo HTML que é atribuído ao recurso identificado pelo dwResID.
Este método dá-lhe o mesmo resultado que chamar:
AtlAxCreateControlEx(lpszName, hWnd, pStream, NULL, NULL, GUID_NULL, NULL);
Consulte CAxWindow2T::CreateControlLic para criar, inicializar e hospedar um controlo ActiveX licenciado.
Example
Consulte Hospedagem de Controlos ActiveX usando ATL AXHost para um exemplo que utiliza CreateControl.
CAxWindow::CreateControlEx
Cria um controlo ActiveX, inicializa-o e aloja-o na janela especificada.
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);
Parâmetros
lpszName
Um apontador para uma string para criar o controlo. Deve ser formatado de uma das seguintes formas:
Um ProgID como
"MSCAL.Calendar.7"Um CLSID como
"{8E27C92B-1264-101C-8A2F-040224009C02}"Uma URL como
"<https://www.microsoft.com>"Uma referência a um documento Ativo como
"file://\\\Documents\MyDoc.doc"Um fragmento de HTML como
"MSHTML:\<HTML>\<BODY>This is a line of text\</BODY>\</HTML>"Observação
"MSHTML:"deve preceder o fragmento HTML para que seja designado como um fluxo MSHTML. Apenas o ProgID e o CLSID são suportados nas plataformas Windows Mobile. As plataformas embutidas do Windows CE, exceto o Windows Mobile com suporte para CE IE, suportam todos os tipos, incluindo ProgID, CLSID, URL, referência a documentos ativos e fragmentos de HTML.
pStream
[dentro] Um ponteiro para um fluxo que é usado para inicializar as propriedades do controlo. Pode ser NULL.
ppUnkContainer
[fora] O endereço de um ponteiro que irá receber o IUnknown do contentor. Pode ser NULL.
ppUnkControl
[fora] O endereço de um ponteiro que irá receber o IUnknown do controlo. Pode ser NULL.
iidSink
[dentro] O identificador de interface de saída de uma interface de saída no objeto contido. Pode ser IID_NULL.
punkSink
[dentro] Um ponteiro para a IUnknown interface do objeto sink a ser ligado ao ponto de ligação no objeto contido especificado por iidSink.
dwResID
[dentro] O ID de recurso de um recurso HTML. O controlo do Navegador Web será criado e carregado com o recurso especificado.
Valor de retorno
Um valor HRESULT padrão.
Observações
Este método é semelhante ao CAxWindow::CreateControl, mas ao contrário desse método, CreateControlEx também permite receber um ponteiro de interface para o controlo recém-criado e configurar um dissipador de eventos para receber os eventos disparados pelo controlo.
Consulte CAxWindow2T::CreateControlLicEx para criar, inicializar e hospedar um controlo ActiveX licenciado.
Example
Consulte Hospedagem de Controlos ActiveX usando ATL AXHost para um exemplo que utiliza CreateControlEx.
CAxWindow::GetWndClassName
Recupera o nome da classe janela.
static LPCTSTR GetWndClassName();
Valor de retorno
Um ponteiro para uma string contendo o nome da classe janela que pode hospedar controlos ActiveX não licenciados.
CAxWindow::operator =
Atribui um HWND a um objeto existente CAxWindow .
CAxWindow<TBase>& operator=(HWND hWnd);
Parâmetros
hWnd
Uma maçaneta para uma janela já existente.
Valor de retorno
Devolve uma referência ao objeto atual CAxWindow .
CAxWindow::QueryControl
Recupera a interface especificada do controlo hospedado.
HRESULT QueryControl(REFIID iid, void** ppUnk);
template <class Q>
HRESULT QueryControl(Q** ppUnk);
Parâmetros
IID
[dentro] Especifica o IID da interface do controlo.
ppUnk
[fora] Um apontador para a interface do controlo. Na versão modelo deste método, não é necessário um ID de referência desde que uma interface tipada com um UUID associado seja passada.
Q
[dentro] A interface que está a ser consultada.
Valor de retorno
Um valor HRESULT padrão.
CAxWindow::QueryHost
Devolve a interface especificada do anfitrião.
HRESULT QueryHost(REFIID iid, void** ppUnk);
template <class Q>
HRESULT QueryHost(Q** ppUnk);
Parâmetros
IID
[dentro] Especifica o IID da interface do controlo.
ppUnk
[fora] Um ponteiro para a interface no host. Na versão modelo deste método, não é necessário um ID de referência desde que uma interface tipada com um UUID associado seja passada.
Q
[dentro] A interface que está a ser consultada.
Valor de retorno
Um valor HRESULT padrão.
Observações
A interface do host permite o acesso à funcionalidade subjacente do código de hospedagem de janelas, implementada por AxWin.
CAxWindow::SetExternalDispatch
Define a interface externa de despacho para o CAxWindow objeto.
HRESULT SetExternalDispatch(IDispatch* pDisp);
Parâmetros
pDisp
[dentro] Um apontador para uma IDispatch interface.
Valor de retorno
Um valor HRESULT padrão.
CAxWindow::SetExternalUIHandler
Define a interface externa IDocHostUIHandlerDispatch para o CAxWindow objeto.
HRESULT SetExternalUIHandler(IDocHostUIHandlerDispatch* pUIHandler);
Parâmetros
pUIHandler
[dentro] Um apontador para uma IDocHostUIHandlerDispatch interface.
Valor de retorno
Um valor HRESULT padrão.
Observações
A interface externa IDocHostUIHandlerDispatch é usada por controlos que consultam o site do anfitrião para a IDocHostUIHandlerDispatch interface. O controlo do navegador web é um dos controlos que faz isto.
Consulte também
Exemplo ATLCON
Classe CWindow
Fundamentos do Controlo Composto
Visão geral da classe
FAQ sobre Contenção de Controlo