Tastendruck auf Listbox abfangen
-
Hallo!
Wie fange ich einen Tastendruck ab, der in einer Listbox getätigt wird? Der WM_KEYDOWN wird ja nur ausgelöst, wenn kein Steuerelement da ist ... und die Listbox selbst bietet ja kein Tastenevent. Wie macht man das denn da? Möchte gern ESC drücken, wenn ein Element markiert ist und damit was auslösen.
MfG
Florian
-
Also ich würde das so machen. Als erstes überprüfst du ob das listctrl angezeigt ist oder net. wenn ja dann machst du ne normale WM_Keydown messAGE UND GIBTS BEI DEN BEFEHLEN FÜR RUNTER UND HOCH DEM LISTCTRL EINFACH DEN FOCUS dann dürftest du eigentlich normal mit den pfeiltasten durchs list steuern dürfen.
-
Sorry ... diese Antwort versteh ich nicht - bzw. du hast meine Frage nicht verstanden
Ich möchte, wenn ich ein Element einer Listbox angewählt habe, dieses Element durch Tastendruck bearbeiten / löschen. Wie macht man das (bzw. mit welcher Nachricht), wenn WM_KEYDOWN nur ausgelöst wird, wenn kein Steuerelement da ist.
MfG
Florian
-
Wenn eine Taste gedrückt wird muß ja an das Programm eine Message gehen. Wie könnte es sonst Eingaben etc. geben.
Du mußt die Message selbst abfragen und dann nachschauen ob die Listbox den Focus hat und eine Element makiert ist.
-
Hallo nochmal ...
welche Nachricht muss ich denn abfangen - WM_KEYDOWN wird nun mal nicht ausgelöst. Ich hab doch keine Ahnung *heul*MfG
Florian
-
hmmm versuch es mal mit OnVirtualKey...
oder so das könnte hinhauen!
-
im Notfall subclassen
Gruß Marcel
-
Hallo!
Ich hab in den Tiefen der MS-Hilfe eine Lösung gefunden: Die Listbox muss (bei den Ressourcen) die Eigenschaft "Tastatureingabe erforderlich" gesetzt haben - danach löst sie das Ereignis WM_VKEYTOITEM aus.
MfG
Florian