API-Funktion TranslateMessage(...)

Die Funktion TranslateMessage(...) ist dafür zuständig, dass virtuelle Tastencodes in ASCII-Codes übersetzt werden. Virtuelle Tastencodes werden später bei der Behandlung von Tastatur-Ereignissen noch ausführlich erklärt.

TranslateMessage(....) hat folgendes Prototyping:

BOOL TranslateMessage (CONST MSG *lpMsg);

Die Parameter haben folgende Bedeutung:

Parameter

Bedeutung

CONST MSG *lpMsg Zeiger auf Nachrichtenstruktur die die zu übersetzende Nachricht enthält.

Als Returnwert liefert die Funktion einen Wert ungleich 0 wenn die Nachricht übersetzt wurde.

hinweis.gif (2251 Byte) Es gibt noch eine weitere Funktion TranslateAccelerator(...) die sich auch mit dem 'Übersetzen' von Tastaturnachrichten befasst. Sie spielt im Zusammenhang mit den Schnellzugriffstasten (Accelerator-Keys wie z.B. die Hilfe-Taste <F1>) eine Rolle.

Beispiel für die Wirkungsweise der Funktion TranslateMessage(...):

Wenn z.B. der Großbuchstaben 'A' eingegeben wird, so wird zuerst die SHIFT-Taste gedrückt und dann die Taste 'A'. Anschließend wird die Taste 'A' wieder losgelassen und schließlich auch noch die SHIFT-Taste. Damit werden folgende fünf Nachrichten erzeugt:

  1. Nachricht WM_KEYDOWN für die virtuelle Taste VK_SHIFT
  2. Nachricht WM_KEYDOWN für die virtuelle Taste VK_A
  3. Nachricht WM_CHAR mit dem ASCII-Code für 'A'; diese Nachricht wird durch die Funktion TranslateMessage(...) erzeugt.
  4. Nachricht WM_KEYUP für die virtuelle Taste VK_A
  5. Nachricht WM_KEYUP für die virtuelle Taste VK_SHIFT


Copyright © 2004

Senden Sie Emails mit Fragen oder Kommentaren zu dieser Website an: mailto:info@cpp-tutor.de
 Wolfgang Schröder, Lerchenweg 23, D-72805 Lichtenstein. Tel: +49 7129 6470