![]() |
Listbox übernimmt Keydown das für Form gedacht war...
Hi, ich hab schon wieder ein Problem:
Ein Form soll auf KeyDown reagieren:
Delphi-Quellcode:
wenn ich Escape drücke geht alles, aber wenn ich die Pfeiltasten drücke, passiert nichts außer, dass bei einer Listbox die blaue Hinterlegung auf und ab geht.
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); begin if (Play) then begin if (key = (VK_ESCAPE)) then begin //code end else if (key = (VK_DOWN)) then begin //code end else if (key = (VK_UP)) then begin //code end else if (key = (VK_LEFT)) then begin //code end else if (key = (VK_RIGHT)) then begin //code end; end; end; Danke schon mal für Eure Hilfe mfG EDIT: überall wo //code steht, steht in meinem Projekt code, aber ich will hier nichts überfüllen |
Re: Listbox übernimmt Keydown das für Form gedacht war...
Hast Du auf dem Formular KeyPreview auf True gestellt?
|
Re: Listbox übernimmt Keydown das für Form gedacht war...
Ja, im FormCreate Ereignis und vorsichtshalber später nochmal(nachdem die ListBox 'gefüllt' wurde)
|
Re: Listbox übernimmt Keydown das für Form gedacht war...
Ich kann das Verhalten nicht nachvollziehen. Habe ein leeres Formular mit einer Listbox drauf. Im FormKeyDown habe ich deinen Code mit ShowMessages eingefügt. Drücke ich nun die Pfeiltasten, wird sowohl die Messagebox angezeigt als auch die Markierung der Listbox geändert. Hast du mal einen Breakpoint auf das OnKeyDown gesetzt und geguckt ob wirklich nichts ankommt?
|
Re: Listbox übernimmt Keydown das für Form gedacht war...
ok:
wenn ich einen breakpoint auf
Delphi-Quellcode:
setze, dann bekommt nach dem debuggen der rote punkt ein weißes X...
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
kann mir einer erklären was das bedeutet? Mit Breakpoints hab ich keine Erfahrung... |
Re: Listbox übernimmt Keydown das für Form gedacht war...
die Methode wird wegoptimiert, also nie ausgeführt.
Grüße Klaus |
Re: Listbox übernimmt Keydown das für Form gedacht war...
OK, danke für alles, ich kleiner Depp habe da was falsch gemacht :arrow: er hat es ausgeführt, aber ich habe einen Fehler reinprogrammiert sodass ich die Auswirkung nicht sehen konnte.
Andere Frage: kann ich es irgendwie machen, dass die Listbox garnicht reagiert? Das könnte bei mir den Benutzer iritieren. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:06 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 by Thomas Breitkreuz