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
Riferimento