Funzione IsDialogMessageW (winuser.h)

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

Sintassi

BOOL IsDialogMessageW(
  [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 contenente 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.

Commenti

Sebbene la funzione 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 tutta la traduzione e l'invio necessari dei messaggi, non è necessario passare un messaggio elaborato da IsDialogMessage alla funzione TranslateMessage o DispatchMessage .

IsDialogMessage invia WM_GETDLGCODE messaggi alla procedura 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 che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
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)

Vedi anche

Informazioni concettuali

DM_GETDEFID

DM_SETDEFID

Finestre di dialogo

DispatchMessage

MSG

Riferimento

TranslateMessage

WM_GETDLGCODE

WM_USER