Funzione TranslateMessage (winuser.h)
Converte i messaggi di chiave virtuale in messaggi di carattere. I messaggi di carattere vengono inviati alla coda dei messaggi del thread chiamante, per essere letti alla successiva chiamata della funzione GetMessage o PeekMessage .
Sintassi
BOOL TranslateMessage(
[in] const MSG *lpMsg
);
Parametri
[in] lpMsg
Tipo: const MSG*
Puntatore a una struttura MSG che contiene le informazioni sui messaggi recuperate dalla coda dei messaggi del thread chiamante tramite la funzione GetMessage o PeekMessage .
Valore restituito
Tipo: BOOL
Se il messaggio viene convertito , ovvero viene inviato un messaggio di carattere nella coda dei messaggi del thread, il valore restituito è diverso da zero.
Se il messaggio è WM_KEYDOWN, WM_KEYUP, WM_SYSKEYDOWN o WM_SYSKEYUP, il valore restituito è diverso da zero, indipendentemente dalla traduzione.
Se il messaggio non viene tradotto, ovvero un messaggio di carattere non viene inviato alla coda dei messaggi del thread, il valore restituito è zero.
Commenti
La funzione TranslateMessage non modifica il messaggio a cui punta il parametro lpMsg .
WM_KEYDOWN e combinazioni di WM_KEYUP producono un messaggio di WM_CHAR o di WM_DEADCHAR . WM_SYSKEYDOWN e combinazioni di WM_SYSKEYUP producono un messaggio di WM_SYSDEADCHAR o WM_SYSCHAR.
TranslateMessage produce WM_CHAR messaggi solo per i tasti mappati ai caratteri ASCII dal driver della tastiera.
Se le applicazioni elaborano messaggi con chiave virtuale per altri scopi, non devono chiamare TranslateMessage. Ad esempio, un'applicazione non deve chiamare TranslateMessage se la funzione TranslateAccelerator restituisce un valore diverso da zero. Si noti che l'applicazione è responsabile del recupero e dell'invio di messaggi di input alla finestra di dialogo. Per la maggior parte delle applicazioni viene usato il ciclo di messaggi principale. Tuttavia, per consentire all'utente di passare a e selezionare i controlli usando la tastiera, l'applicazione deve chiamare IsDialogMessage. Per altre informazioni, vedere Interfaccia della tastiera della finestra di dialogo.
Esempio
Per un esempio, vedere Creazione di un ciclo di messaggi.
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-message-l1-1-0 (introdotto in Windows 8) |