![]() |
KeyPress von Listbox überschreiben
Irgendwie stehe ich gerade auf dem Schlauch: ich möchte in einer eigenen von TCustomListBox abgeleiteten Komponente gerne einbauen, dass man bei aktiviertem Multiselect einzelne Listbox-Einträge mittels Leertaste markieren kann (bzw. Markierungen wieder aufheben).
Soweit, so gut. Ich habe nun einfach mal die Prozedur "KeyPress" überschrieben und meine Zusatzfunktionalität eingebaut. Hat aber nichts gebracht, da die Funktion nicht aufgerufen wird, wenn ich in einer aktiven Listbox auf der Tastatur rumklimper. Als zweiten Ansatz habe ich dann die Zusatzfunktionalität in eine eigene Prozedur vom Typ TKeyPressEvent gelegt, den Konstruktor überschrieben und innerhalb dessen dann dem Ereignis OnKeyPress diese neue Prozedur zugewiesen. Das funktionierte dann auch, jedoch auch nur so lange, wie niemand auf die Idee kommt, im Objektinspektor dem OnKeyPress-Event einer solchen Listbox einen neuen Eventhandler zuzuweisen. Logisch, es kann ja immer nur ein Eventhandler angegeben werden. --> Wie gesagt, irgendwie stehe ich grade echt mächtig auf dem Schlauch, wie ich das denn "richtig" anstellen muss, damit das klappt :gruebel: . Wer kann helfen? |
Re: KeyPress von Listbox überschreiben
Nimm doch KeyDown oder (besser) KeyUp.
Gerald |
Re: KeyPress von Listbox überschreiben
Ich denke nicht, dass das mein "Problem" lösen würde, da sich die geschilderten Punkte 1-zu-1 auch auf KeyDown/KeyUp übertragen lassen. Es geht mir eher generell darum, wie ich vorgehen muss, um in meiner eigenen von TCustomListbox abgeleiteten Komponente eine Zusatzfunktionalität einzubauen, wenn eine Taste (hier die Leertaste) gedrückt wird. Mir ist die Vorgehensweise gerade einfach nicht so recht klar.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz