Compartilhar via


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

CMessageMap

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;

Confira também

Classe CDialogImpl
Visão geral da aula