Classe CAxDialogImpl
Essa classe implementa uma caixa de diálogo (modal ou sem janela restrita) que hospeda controles ActiveX.
Importante
Essa classe e os respectivos membros não podem ser usados em aplicativos executados no Windows Runtime.
Sintaxe
template <class T, class TBase = CWindow>
class ATL_NO_VTABLE CAxDialogImpl : public CDialogImplBaseT<TBase>
Parâmetros
T
Sua classe, derivada de CAxDialogImpl
.
TBase
A classe de janela base para CDialogImplBaseT
.
Membros
Métodos públicos
Nome | Descrição |
---|---|
CAxDialogImpl::AdviseSinkMap | Chame esse método para recomendar ou não recomendar todas as entradas no mapa de eventos do coletor do objeto. |
CAxDialogImpl::Create | Chame esse método para criar uma caixa de diálogo sem janela restrita. |
CAxDialogImpl::DestroyWindow | Chame esse método para destruir uma caixa de diálogo sem janela restrita. |
CAxDialogImpl::DoModal | Chame esse método para criar uma caixa de diálogo modal. |
CAxDialogImpl::EndDialog | Chame esse método para destruir uma caixa de diálogo modal. |
CAxDialogImpl::GetDialogProc | Chame esse método para obter um ponteiro para a função de retorno de chamada DialogProc . |
CAxDialogImpl::GetIDD | Chame esse método para obter a ID do recurso de modelo de caixa de diálogo |
CAxDialogImpl::IsDialogMessage | Chame esse método para determinar se uma mensagem se destina a essa caixa de diálogo e, em caso positivo, processar a mensagem. |
Membros de dados protegidos
Nome | Descrição |
---|---|
CAxDialogImpl::m_bModal | Uma variável que existe somente em builds de depuração e é definida como true se a caixa de diálogo for modal. |
Comentários
CAxDialogImpl
permite criar uma caixa de diálogo modal ou sem janela restrita. CAxDialogImpl
fornece o procedimento da caixa de diálogo, que usa o mapa de mensagens padrão para direcionar mensagens para os manipuladores apropriados.
CAxDialogImpl
é derivado de CDialogImplBaseT
, que por sua vez é derivado de TBase (por padrão, CWindow
) e CMessageMap
.
Sua classe deve definir um membro IDD que especifique a ID do recurso de modelo da caixa de diálogo. Por exemplo, adicionar um objeto de caixa de diálogo ATL usando a caixa de diálogo Adicionar Classe adiciona automaticamente a seguinte linha à sua classe:
enum { IDD = IDD_MYDLG };
em que MyDialog
é o nome curto inserido no Assistente de Caixa de Diálogo de ATL.
Confira Como implementar uma caixa de diálogo para obter mais informações.
Observe que um controle ActiveX em uma caixa de diálogo modal criada com CAxDialogImpl
não dará suporte a teclas de aceleração. Para dar suporte a teclas de aceleração em uma caixa de diálogo criada com CAxDialogImpl
, crie uma caixa de diálogo sem janela restrita e, usando seu próprio loop de mensagem, use CAxDialogImpl::IsDialogMessage depois de receber uma mensagem da fila para manipular uma tecla de aceleração.
Para saber mais sobre CAxDialogImpl
, confira Perguntas frequentes sobre a contenção do controle ATL.
Hierarquia de herança
TBase
CWindowImplRoot
CDialogImplBaseT
CAxDialogImpl
Requisitos
Cabeçalho: atlwin.h
CAxDialogImpl::AdviseSinkMap
Chame esse método para recomendar ou não recomendar todas as entradas no mapa de eventos do coletor do objeto.
HRESULT AdviseSinkMap(bool bAdvise);
Parâmetros
bAdvise
Defina como true se todas as entradas do coletor tiverem que ser recomendadas; false se todas as entradas do coletor não tiverem que ser recomendadas.
Valor de retorno
Retornará S_OK se houver êxito ou um erro HRESULT, em caso de falha.
CAxDialogImpl::Create
Chame esse método para criar uma caixa de diálogo sem janela restrita.
HWND Create(HWND hWndParent, LPARAM dwInitParam = NULL);
HWND Create(HWND hWndParent, RECT&, LPARAM dwInitParam = NULL);
Parâmetros
hWndParent
[in] O identificador para a janela do proprietário.
dwInitParam
[in] Especifica o valor a ser passado para a caixa de diálogo no parâmetro lParam da mensagem WM_INITDIALOG.
RECT&
Este parâmetro não é usado. Esse parâmetro é passado por CComControl
.
Valor de retorno
O identificador para a caixa de diálogo recém-criada.
Comentários
Essa caixa de diálogo é anexada automaticamente ao objeto CAxDialogImpl
. Para criar uma caixa de diálogo modal, chame DoModal.
A segunda substituição é fornecida somente para que as caixas de diálogo possam ser usadas com CComControl.
CAxDialogImpl::DestroyWindow
Chame esse método para destruir uma caixa de diálogo sem janela restrita.
BOOL DestroyWindow();
Valor de retorno
TRUE se a janela for destruída com êxito; caso contrário, FALSE.
Comentários
Não chame DestroyWindow
para destruir uma caixa de diálogo modal. Em vez disso, chame EndDialog.
CAxDialogImpl::DoModal
Chame esse método para criar uma caixa de diálogo modal.
INT_PTR DoModal(
HWND hWndParent = ::GetActiveWindow(),
LPARAM dwInitParam = NULL);
Parâmetros
hWndParent
[in] O identificador para a janela do proprietário. O valor padrão é o valor retornado da função GetActiveWindow Win32.
dwInitParam
[in] Especifica o valor a ser passado para a caixa de diálogo no parâmetro lParam da mensagem WM_INITDIALOG.
Valor de retorno
Se tiver êxito, o valor do parâmetro nRetCode especificado na chamada para EndDialog; caso contrário, -1.
Comentários
Essa caixa de diálogo é anexada automaticamente ao objeto CAxDialogImpl
.
Para criar uma caixa de diálogo sem janela restrita, chame Criar.
CAxDialogImpl::EndDialog
Chame esse método para destruir uma caixa de diálogo modal.
BOOL EndDialog(int nRetCode);
Parâmetros
nRetCode
[in] O valor a ser retornado por DoModal.
Valor de retorno
TRUE se a caixa de diálogo for destruída. Caso contrário, FALSE.
Comentários
EndDialog
deve ser chamado por meio do procedimento de caixa de diálogo. Depois que a caixa de diálogo é destruída, o Windows usa o valor de nRetCode como o valor retornado para DoModal
, que criou a caixa de diálogo.
Observação
Não chame EndDialog
para destruir uma caixa de diálogo sem janela restrita. Chame DestroyWindow em vez disso.
CAxDialogImpl::GetDialogProc
Chame esse método para obter um ponteiro para a função de retorno de chamada DialogProc
.
virtual DLGPROC GetDialogProc();
Valor de retorno
Retorna um ponteiro para a função de retorno de chamada DialogProc
.
Comentários
A função DialogProc
é uma função de retorno de chamada definida pelo aplicativo.
CAxDialogImpl::GetIDD
Chame esse método para obter a ID do recurso de modelo de caixa de diálogo.
int GetIDD();
Valor de retorno
Retorna a ID do recurso de modelo de caixa de diálogo.
CAxDialogImpl::IsDialogMessage
Chame esse método para determinar se uma mensagem se destina a essa caixa de diálogo e, em caso positivo, processar a mensagem.
BOOL IsDialogMessage(LPMSG pMsg);
Parâmetros
pMsg
Um ponteiro para uma estrutura MSG que contém a mensagem a ser verificada.
Valor de retorno
Retornará TRUE se a mensagem tiver sido processada, caso contrário, FALSE.
Comentários
Esse método destina-se a ser chamado de dentro de um loop de mensagem.
CAxDialogImpl::m_bModal
Uma variável que existe somente em builds de depuração e é definida como true se a caixa de diálogo for modal.
bool m_bModal;