Condividi tramite


Funzione IsDialogMessageA (winuser.h)

Determina se un messaggio è destinato alla finestra di dialogo specificata e, in caso affermativo, elabora il messaggio.

Sintassi

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

Parametri

[in] hDlg

Tipo: HWND

Handle per la finestra di dialogo.

[in] lpMsg

Tipo: LPMSG

Puntatore a una struttura MSG che contiene il messaggio da controllare.

Valore restituito

Tipo: bool

Se il messaggio è stato elaborato, il valore restituito è diverso da zero.

Se il messaggio non è stato elaborato, il valore restituito è zero.

Osservazioni

Sebbene la funzione di IsDialogMessage sia destinata alle finestre di dialogo senza modalità, è possibile usarla con qualsiasi finestra contenente controlli, consentendo alle finestre di fornire la stessa selezione della tastiera utilizzata in una finestra di dialogo.

Quando IsDialogMessage elabora un messaggio, verifica la presenza di messaggi da tastiera e li converte in selezioni per la finestra di dialogo corrispondente. Ad esempio, il tasto TAB, quando viene premuto, seleziona il controllo o il gruppo di controlli successivo e il tasto FRECCIA GIÙ, quando premuto, seleziona il controllo successivo in un gruppo.

Poiché la funzione IsDialogMessage esegue tutte le operazioni necessarie di traduzione e invio dei messaggi, un messaggio elaborato da IsDialogMessage non deve essere passato alla funzione TranslateMessage o DispatchMessage.

IsDialogMessage invia messaggi WM_GETDLGCODE alla routine della finestra di dialogo per determinare quali chiavi devono essere elaborate.

IsDialogMessage può inviare messaggi DM_GETDEFID e DM_SETDEFID alla finestra. Questi messaggi vengono definiti nel file di intestazione Winuser.h come WM_USER e WM_USER + 1, quindi i conflitti sono possibili con i messaggi definiti dall'applicazione con gli stessi valori.

Nota

L'intestazione winuser.h definisce IsDialogMessage come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows 2000 Professional [solo app desktop]
server minimo supportato Windows 2000 Server [solo app desktop]
piattaforma di destinazione Finestre
intestazione winuser.h (include Windows.h)
libreria User32.lib
dll User32.dll
set di API ext-ms-win-ntuser-dialogbox-l1-1-3 (introdotto in Windows 10, versione 10.0.14393)

Vedere anche

concettuale

DM_GETDEFID

DM_SETDEFID

finestre di dialogo

DispatchMessage

MSG

riferimento

TranslateMessage

WM_GETDLGCODE

WM_USER