![]() |
OnKeyDown vor Editfeldern etc.
Hallo Leute,
ich habe verschiedenen Tasten mit einen OnKeyDown Event funktionen zugewiesen. Jetzt habe ich ebenfalls einige Edit- und Memofelder in die Form eingefügt. Mein Problem ist jetzt, dass bei Tastendruck nicht mehr das Event ausgelöst wird, sondern die Taste im Editfeld wirkt (Bsp: Bei der Taste A soll er eine message ausgeben, aber er schreibt jetzt einfach ein a ins Editfeld) Wie kann ich das verhindern? Grüße, Nico |
Re: OnKeyDown vor Editfeldern etc.
versuch mal .KeyPreview=True (hoffentlich richig geschrieben) der Form
|
Re: OnKeyDown vor Editfeldern etc.
Probier mal das:
Delphi-Quellcode:
Mit der Zuweisung verhinderst Du die Weitergabe des Keys.
procedure TForm1.Edit78KeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState); begin if key = 'a' then ShowMessage('blablupp'); key := #0; end; |
Re: OnKeyDown vor Editfeldern etc.
Hallo Nico,
wenn du die Tasten im gesamten Formular abfangen möchtest, bevor sie einem Control übergeben werden, dann könntest du das Ereignis ![]()
Delphi-Quellcode:
Du solltest allerdings einen guten Grund haben, die Eingabe von Buchstaben in Memo- und Editfeldern zu verhindern.
// uses Menus
procedure TForm1.FormShortCut(var Msg: TWMKey; var Handled: Boolean); var Key : TShortCut; begin Key := ShortCut(Msg.CharCode, KeyDataToShiftState(Msg.KeyData)); case Key of Ord('A'): begin Self.Caption := 'lowercase a'; Handled := True; end; scShift or Ord('A'): begin Self.Caption := 'uppercase a'; Handled := True; end; end; end; Gruß Hawkeye |
Re: OnKeyDown vor Editfeldern etc.
Hey Jungs, danke für eure Tipps, sehr interessant. Ich befürchte allerdings inzwischen, dass es wahrscheinlich besser ist, wenn ich alle Eingaben in einem Voreinstellfeld mache und dass eigentliche Programm erst danach starte. Hat jemand einen Link der erklärt wie das geht?
|
Re: OnKeyDown vor Editfeldern etc.
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:40 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