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

DM_GETDEFID

DM_SETDEFID

Finestre di dialogo

DispatchMessage

MSG

Riferimento

TranslateMessage

WM_GETDLGCODE

WM_USER