das Ereignis LVN_KEYDOWN behandeln
-
Wenn ich in meinem Listview das Ereigniss "LVN_KEYDOWN" auswerte kann ich ja den Keycode mit ((LPNMLVKEYDOWN)lParam)->wVKey ermitteln, wenn ich jetzt die Taste drücke die das folgende Zeichen ü beinhaltet, erhalte ich als Code \xBA was ja laut winuser.h das Makro VK_OEM_1 darstellt. Für andere Ländertastaturen ist die Taste, so wie ich das verstanden, habe fest mit dem Code verknüpft, lediglich das Zeichen auf der Taste kann varieren. Meine Frage nun wie komme ich nun programmiertechnisch an das Ü ran, wenn mein Proggy auf einem Rechner mit deutscher Tastatur läuft und wie an das ;: , wenn es auf einem Rechner mit US Tastatur läuft. Also quasi parallel zum Keycode auch noch das entsprechnede Char? Hintergrund meiner Frage ist, daß normalerweise im Listview-Reportstyle, die Auswahl bei Tastendruck automatisch zur nächsten Zeile springt die mit dem Zeichen anfängt das man eben auf der Tastatur gedrückt hat. Da ich dieses Ereignis, aber selber auswerte, brauche ich zum Keycode auch das Zeichen, wie geht das?
-
sollte mit MapVirtualKey gehen, ich bin mir aber nicht sicher, ob das wirklich funktioniert. Notfalls gibt es da noch ToAscii in Kombination mit GetKeyboardState.
-
Recht herzlichen Dank, das war genau das wonach ich gesucht habe.