CDialog::DoModal
Chame essa função de membro para invocar a caixa de diálogo modal e retornar o resultado da caixa de diálogo quando terminar.
virtual INT_PTR DoModal( );
Valor de retorno
An int valor que especifica o valor da nResult parâmetro passado para o CDialog::EndDialogfunção de membro , que é usada para fechar a caixa de diálogo.O valor retornado é – 1 se a função não foi possível criar a caixa de diálogo ou IDABORT se ocorreu algum Outros erro, que nesse caso o Janela de saída conterá informações de erro de GetLastError.
Comentários
Esta função de membro manipula toda a interação com o usuário, enquanto a caixa de diálogo está ativo.Este é o que torna a caixa de diálogo modal; isto é, o usuário não pode interagir com outras janelas até que a caixa de diálogo seja fechada.
Se o usuário clicar em um dos pushbuttons na caixa de diálogo, sistema autônomo OK ou Cancelar, um mensagem-função de membro de manipulador, sistema autônomo OnOK or OnCancel, é chamado para tentar fechar a caixa de diálogo.O padrão de OnOK função de membro validar e atualizar os dados de caixa de diálogo e fechar a caixa de diálogo com resultado IDOKe o padrão de OnCancel função de membro irá fechar a caixa de diálogo com resultado IDCANCEL sem validar ou atualizar os dados de caixa de diálogo.Você pode substituir essas funções de manipulador de mensagens para alterar seu comportamento.
Observação: |
---|
PreTranslateMessage Agora é chamado o processamento de mensagem de caixa de 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