Compartilhar via


Função IsDialogMessageA (winuser.h)

Determina se uma mensagem se destina à caixa de diálogo especificada e, se for, processa a mensagem.

Sintaxe

BOOL IsDialogMessageA(
  [in] HWND  hDlg,
  [in] LPMSG lpMsg
);

Parâmetros

[in] hDlg

Tipo: HWND

Um identificador para a caixa de diálogo.

[in] lpMsg

Tipo: LPMSG

Um ponteiro para uma estrutura de msg que contém a mensagem a ser verificada.

Valor de retorno

Tipo: BOOL

Se a mensagem tiver sido processada, o valor retornado não será zero.

Se a mensagem não tiver sido processada, o valor retornado será zero.

Observações

Embora a função IsDialogMessage seja destinada a caixas de diálogo modeless, você pode usá-la com qualquer janela que contenha controles, permitindo que as janelas forneçam a mesma seleção de teclado que é usada em uma caixa de diálogo.

Quando IsDialogMessage processa uma mensagem, ela verifica se há mensagens de teclado e as converte em seleções para a caixa de diálogo correspondente. Por exemplo, a tecla TAB, quando pressionada, seleciona o próximo controle ou grupo de controles e a tecla SETA PARA BAIXO, quando pressionada, seleciona o próximo controle em um grupo.

Como a função isDialogMessage executa toda a tradução e expedição necessárias de mensagens, uma mensagem processada pelo IsDialogMessage não deve ser passada para a função TranslateMessage ou DispatchMessage.

isDialogMessage envia mensagens WM_GETDLGCODE para o procedimento da caixa de diálogo para determinar quais chaves devem ser processadas.

IsDialogMessage pode enviar mensagens DM_GETDEFID e DM_SETDEFID para a janela. Essas mensagens são definidas no arquivo de cabeçalho Winuser.h como WM_USER e WM_USER + 1, portanto, conflitos são possíveis com mensagens definidas pelo aplicativo com os mesmos valores.

Nota

O cabeçalho winuser.h define IsDialogMessage como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 2000 Professional [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows 2000 Server [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho winuser.h (inclua Windows.h)
biblioteca User32.lib
de DLL User32.dll
conjunto de API ext-ms-win-ntuser-dialogbox-l1-1-3 (introduzido no Windows 10, versão 10.0.14393)

Consulte também

Conceitual

DM_GETDEFID

DM_SETDEFID

Caixas de diálogo

DispatchMessage

MSG

de referência de

TranslateMessage

WM_GETDLGCODE

WM_USER