Funzione IsDialogMessageA (winuser.h)
Determina se un messaggio è destinato alla finestra di dialogo specificata e, se è, 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.
Commenti
Anche se la funzione IsDialogMessage è destinata alle finestre di dialogo senza modalità, è possibile usarla con qualsiasi finestra che contiene controlli, consentendo alle finestre di fornire la stessa selezione della tastiera utilizzata in una finestra di dialogo.
Quando IsDialogMessage elabora un messaggio, controlla i messaggi da tastiera e li converte in selezioni per la finestra di dialogo corrispondente. Ad esempio, il tasto TAB, quando premuto, seleziona il controllo successivo o il gruppo di controlli 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 di messaggi, un messaggio elaborato da IsDialogMessage non deve essere passato 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 DM_GETDEFID e DM_SETDEFID messaggi 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 preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.
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 (introdotta in Windows 10, versione 10.0.14393) |
Vedi anche
Informazioni concettuali
Riferimento