Função IsDialogMessageA (winuser.h)

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

Sintaxe

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

Parâmetros

[in] hDlg

Digite: HWND

Um identificador para a caixa de diálogo.

[in] lpMsg

Tipo: LPMSG

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

Retornar valor

Tipo: BOOL

Se a mensagem tiver sido processada, o valor retornado será diferente de zero.

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

Comentários

Embora a função IsDialogMessage seja destinada a caixas de diálogo de modelagem, você pode usá-la com qualquer janela que contenha controles, permitindo que as janelas forneçam a mesma seleção de teclado 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 por 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.

Observação

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 de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

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

Confira também

Conceitual

DM_GETDEFID

DM_SETDEFID

Caixas de diálogo

Dispatchmessage

MSG

Referência

TranslateMessage

WM_GETDLGCODE

WM_USER