Caixas de diálogo (caixas de diálogo)

Uma caixa de diálogo é uma janela temporária que um aplicativo cria para recuperar a entrada do usuário. Um aplicativo normalmente usa caixas de diálogo para solicitar ao usuário informações adicionais sobre itens de menu. Uma caixa de diálogo geralmente contém um ou mais controles (janelas filho) com os quais o usuário insere texto, escolhe opções ou direciona a ação.

O Windows também fornece caixas de diálogo predefinidas que dão suporte a itens de menu comuns, como Abrir e Imprimir. Os aplicativos que usam esses itens de menu devem usar as caixas de diálogo comuns para solicitar essa entrada de usuário, independentemente do tipo de aplicativo.

Nesta seção

Nome Descrição
Sobre caixas de diálogo Discute o uso de caixas de diálogo na interface do usuário para seus aplicativos.
Considerações sobre programação de caixa de diálogo Essa visão geral discute algumas considerações de programação sobre caixas de diálogo.
Usando caixas de diálogo Você usa caixas de diálogo para exibir informações e solicitar a entrada do usuário.
Referência da caixa de diálogo A Referência de API
Biblioteca de caixas de diálogo comuns Discute o uso das caixas de diálogo comuns na interface do usuário para seus aplicativos.

Funções da caixa de diálogo

Nome Descrição
Createdialog Cria uma caixa de diálogo modeless de um recurso de modelo de caixa de diálogo.
Createdialogindirect Cria uma caixa de diálogo de modelagem a partir de um modelo de caixa de diálogo na memória.
Createdialogindirectparam Cria uma caixa de diálogo de modelagem a partir de um modelo de caixa de diálogo na memória. Antes de exibir a caixa de diálogo, a função passa um valor definido pelo aplicativo para o procedimento da caixa de diálogo como o parâmetro lParam da mensagem WM_INITDIALOG . Um aplicativo pode usar esse valor para inicializar controles de caixa de diálogo.
Createdialogparam Cria uma caixa de diálogo modeless de um recurso de modelo de caixa de diálogo. Antes de exibir a caixa de diálogo, a função passa um valor definido pelo aplicativo para o procedimento da caixa de diálogo como o parâmetro lParam da mensagem WM_INITDIALOG . Um aplicativo pode usar esse valor para inicializar controles de caixa de diálogo.
DefDlgProc Chama o procedimento de janela da caixa de diálogo padrão para fornecer processamento padrão para qualquer mensagem de janela que uma caixa de diálogo com uma classe de janela privada não processe.
Dialogbox Cria uma caixa de diálogo modal de um recurso de modelo de caixa de diálogo. DialogBox não retorna o controle até que a função de retorno de chamada especificada encerre a caixa de diálogo modal chamando a função EndDialog .
Dialogboxindirect Cria uma caixa de diálogo modal de um modelo de caixa de diálogo na memória. DialogBoxIndirect não retorna o controle até que a função de retorno de chamada especificada termine a caixa de diálogo modal chamando a função EndDialog .
Dialogboxindirectparam Cria uma caixa de diálogo modal de um modelo de caixa de diálogo na memória. Antes de exibir a caixa de diálogo, a função passa um valor definido pelo aplicativo para o procedimento da caixa de diálogo como o parâmetro lParam da mensagem WM_INITDIALOG . Um aplicativo pode usar esse valor para inicializar controles de caixa de diálogo.
Dialogboxparam Cria uma caixa de diálogo modal de um recurso de modelo de caixa de diálogo. Antes de exibir a caixa de diálogo, a função passa um valor definido pelo aplicativo para o procedimento da caixa de diálogo como o parâmetro lParam da mensagem WM_INITDIALOG . Um aplicativo pode usar esse valor para inicializar controles de caixa de diálogo.
DialogProc Uma função de retorno de chamada definida pelo aplicativo usada com as famílias de funções CreateDialog e DialogBox . Ele processa mensagens enviadas para uma caixa de diálogo modal ou modeless. O tipo DLGPROC define um ponteiro para essa função de retorno de chamada. DialogProc é um espaço reservado para o nome da função definida pelo aplicativo.
EndDialog Destrói uma caixa de diálogo modal, fazendo com que o sistema encerre qualquer processamento para a caixa de diálogo.
Getdialogbaseunits Recupera as unidades base da caixa de diálogo do sistema, que são a largura média e a altura dos caracteres na fonte do sistema. Para caixas de diálogo que usam a fonte do sistema, você pode usar esses valores para converter entre unidades de modelo de caixa de diálogo, conforme especificado em modelos de caixa de diálogo e pixels. Para caixas de diálogo que não usam a fonte do sistema, a conversão de unidades de modelo de caixa de diálogo em pixels depende da fonte usada pela caixa de diálogo.
GetDlgCtrlID Recupera o identificador do controle especificado.
Getdlgitem Recupera um identificador para um controle na caixa de diálogo especificada.
GetDlgItemInt Converte o texto de um controle especificado em uma caixa de diálogo em um valor inteiro.
Getdlgitemtext Recupera o título ou texto associado a um controle em uma caixa de diálogo.
GetNextDlgGroupItem Recupera um identificador para o primeiro controle em um grupo de controles que precede (ou segue) o controle especificado em uma caixa de diálogo.
GetNextDlgTabItem Recupera um identificador para o primeiro controle que tem o estilo WS_TABSTOP que precede (ou segue) o controle especificado.
Isdialogmessage Determina se uma mensagem é destinada à caixa de diálogo especificada e, se for, processa a mensagem.
MapDialogRect Converte as unidades da caixa de diálogo especificadas em unidades de tela (pixels). A função substitui as coordenadas na estrutura RECT especificada pelas coordenadas convertidas, o que permite que a estrutura seja usada para criar uma caixa de diálogo ou posicionar um controle dentro de uma caixa de diálogo.
Messagebox Exibe uma caixa de diálogo modal que contém um ícone do sistema, um conjunto de botões e uma breve mensagem específica do aplicativo, como status ou informações de erro. A caixa de mensagem retorna um valor inteiro que indica qual botão o usuário clicou.
MessageBoxEx Cria, exibe e opera uma caixa de mensagem. A caixa de mensagem contém uma mensagem e um título definidos pelo aplicativo, além de qualquer combinação de ícones predefinidos e botões de push. Os botões estão no idioma da interface do usuário do sistema.
MessageBoxIndirect Cria, exibe e opera uma caixa de mensagem. A caixa de mensagem contém texto e título de mensagem definidos pelo aplicativo, qualquer ícone e qualquer combinação de botões de push predefinidos.
Senddlgitemmessage Envia uma mensagem para o controle especificado em uma caixa de diálogo.
SetDlgItemInt Define o texto de um controle em uma caixa de diálogo para a representação de cadeia de caracteres de um valor inteiro especificado.
Setdlgitemtext Define o título ou o texto de um controle em uma caixa de diálogo.

Mensagens da caixa de diálogo

Nome Descrição
DM_GETDEFID Recupera o identificador do controle de botão de push padrão para uma caixa de diálogo.
DM_REPOSITION Reposiciona uma caixa de diálogo de nível superior para que ela se ajuste à área de trabalho. Um aplicativo pode enviar essa mensagem para uma caixa de diálogo depois de redimensioná-la para garantir que toda a caixa de diálogo permaneça visível.
DM_SETDEFID Altera o identificador do botão de push padrão para uma caixa de diálogo.

Notificações da caixa de diálogo

Nome Descrição
WM_CTLCOLORDLG Enviado para uma caixa de diálogo antes que o sistema desmarque a caixa de diálogo. Ao responder a essa mensagem, a caixa de diálogo pode definir suas cores de texto e plano de fundo usando o identificador de contexto do dispositivo de exibição especificado.
WM_ENTERIDLE Enviado para a janela proprietário de uma caixa de diálogo ou menu modal que está entrando em um estado ocioso. Uma caixa de diálogo ou menu de janela restrita insere um estado ocioso quando nenhuma mensagem está esperando em sua fila depois de ter processado uma ou mais mensagens anteriores.
WM_GETDLGCODE Enviado para o procedimento de janela associado a um controle . Por padrão, o sistema manipula todas as entradas de teclado para o controle; o sistema interpreta determinados tipos de entrada de teclado como teclas de navegação da caixa de diálogo. Para substituir esse comportamento padrão, o controle pode responder à mensagem WM_GETDLGCODE para indicar os tipos de entrada que deseja processar.
WM_INITDIALOG Enviado para o procedimento da caixa de diálogo imediatamente antes de uma caixa de diálogo ser exibida. Os procedimentos da caixa de diálogo normalmente usam essa mensagem para inicializar controles e realizar quaisquer outras tarefas de inicialização que afetem a aparência da caixa de diálogo.
WM_NEXTDLGCTL Enviado para um procedimento de caixa de diálogo para definir o foco do teclado para um controle diferente na caixa de diálogo.

Estruturas da caixa de diálogo

Nome Descrição
DLGITEMTEMPLATE Define as dimensões e o estilo de um controle em uma caixa de diálogo. Uma ou mais dessas estruturas são combinadas com uma estrutura DLGTEMPLATE para formar um modelo padrão para uma caixa de diálogo.
DLGITEMTEMPLATEEX Descreve uma caixa de diálogo estendida. Para obter uma descrição do formato de um modelo de caixa de diálogo estendida, consulte DLGTEMPLATEEX.
DLGTEMPLATE Define as dimensões e o estilo de uma caixa de diálogo. Essa estrutura, sempre a primeira em um modelo padrão para uma caixa de diálogo, também especifica o número de controles na caixa de diálogo e, portanto, especifica o número de estruturas DLGITEMTEMPLATE subsequentes no modelo.
DLGTEMPLATEEX Um modelo de caixa de diálogo estendida começa com um cabeçalho DLGTEMPLATEEX que descreve a caixa de diálogo e especifica o número de controles na caixa de diálogo. Para cada controle em uma caixa de diálogo, um modelo de caixa de diálogo estendida tem um bloco de dados que usa o formato DLGITEMTEMPLATEEX para descrever o controle.
MSGBOXPARAMS Contém informações usadas para exibir uma caixa de mensagem. A função MessageBoxIndirect usa essa estrutura.