Toten-Zeichen Nachrichten

Einige nichtenglischen Tastaturen enthalten Zeichen-Schlüssel, die nicht zum erzeugen Zeichen selbst erwartet werden. Stattdessen werden sie verwendet, das Zeichen von den nachfolgenden Tastenanschlag produziert ein diakritisches Zeichen hinzu. Diese Schlüssel werden als Tote Schlüsselbezeichnet. Die Zirkumflex-Taste auf einer deutschen Tastatur ist ein Beispiel für einen Toten Schlüssel. Geben Sie das Zeichen, bestehend aus einem "o" mit einem Zirkumflex würde ein deutscher Benutzer die Zirkumflex-Taste gefolgt von der Taste "o" geben. Das Fenster mit dem Tastaturfokus erhalten würde die folgende Sequenz von Nachrichten:

WM_KEYDOWN
WM_DEADCHAR
WM_KEYUP
WM_KEYDOWN
WM_CHAR
WM_KEYUP

TranslateMessage generiert die WM_DEADCHAR Nachricht beim Verarbeiten der WM_KEYDOWN Nachricht von einem toten Schlüssel. Obwohl der wParam -Parameter der Nachricht WM_DEADCHAR den Zeichencode der die diakritisches Zeichen für den Toten Schlüssel enthält, ignoriert eine Anwendung in der Regel die Nachricht. Stattdessen verarbeitet die WM_CHAR -Nachricht durch den nachfolgenden Tastenanschlag generiert. Der wParam -Parameter der Nachricht WM_CHAR enthält den Zeichencode des Buchstaben mit diakritischem. Wenn die nachfolgende Tastatureingabe ein Zeichen, die mit einem diakritischen Zeichen kombiniert werden kann erzeugt, erzeugt das System zwei WM_CHAR-Meldungen. Der wParam -Parameter der ersten enthält den Zeichencode der die diakritisches Zeichen; der wParam -Parameter des zweiten enthält den Zeichencode des Schlüssels nachfolgenden Zeichen.

Die TranslateMessage Funktion generiert die WM_SYSDEADCHAR Nachricht beim Verarbeiten der Nachricht WM_SYSKEYDOWN von einem System Tote Schlüssel (ein toter Schlüssel, die in Kombination mit der Alt-Taste gedrückt wird). Eine Anwendung in der Regel ignoriert die WM_SYSDEADCHAR Nachricht.

Index