CDialog::DoModal
Chamar essa função de membro para chamar a caixa de diálogo modal e retornar o resultado da caixa de diálogo quando acaba.
virtual INT_PTR DoModal( );
Valor de retorno
Um valor de int que especifica o valor do parâmetro de nResult que foram passados à função de membro de CDialog::EndDialog , que é usada para fechar a caixa de diálogo.O valor de retorno é 1 – se a função não pôde criar a caixa de diálogo, ou IDABORT se outro erro ocorreu, em esse caso A janela de saída conterá informações de erro de GetLastError.
Comentários
Essa função de membro trata qualquer interação com o usuário quando a caixa de diálogo está ativa.Este é o que faz a caixa de diálogo modal; isto é, o usuário não pode interagir com outras janelas até que a caixa de diálogo é fechada.
Se o usuário clica em uma das teclas na caixa de diálogo, como OK ou cancelar, uma função de membro de mensagem- manipulador, como OnOK ou OnCancel, é chamado para tentar fechar a caixa de diálogo.A função de membro padrão de OnOK validará e atualizar os dados da caixa de diálogo e fechado a caixa de diálogo com resultado IDOK, e a função de membro padrão de OnCancel fechará a caixa de diálogo com resultado IDCANCEL sem validar ou atualizar os dados da caixa de diálogo.Você pode substituir estas funções de mensagem- manipulador para alterar seu comportamento.
Observação |
---|
PreTranslateMessage agora é chamado para processamento de mensagem do diálogo modal. |
Exemplo
void CMyDialog::OnMenuShowAboutDialog()
{
// Construct the dialog box passing the
// ID of the dialog template resource
CDialog aboutDlg(IDD_ABOUTBOX);
// Create and show the dialog box
INT_PTR nRet = -1;
nRet = aboutDlg.DoModal();
// Handle the return value from DoModal
switch (nRet)
{
case -1:
AfxMessageBox(_T("Dialog box could not be created!"));
break;
case IDABORT:
// Do something
break;
case IDOK:
// Do something
break;
case IDCANCEL:
// Do something
break;
default:
// Do something
break;
};
}
Requisitos
Cabeçalho: afxwin.h