Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - button1 mit enter drücken


110022 - Fr 21.12.07 12:27
Titel: button1 mit enter drücken
wie mache is es , dass ein button gedrückt wir wenn ich auf enter drücke? also ohne maus.


Alpha_Wolf - Fr 21.12.07 12:33

Im OI des Formulars KeyPreview auf true setzen.

Folgenden Code verwenden:

Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 If (Key = 13then Button1Click(self);
end;


Aber bitte das nächste mal die Forumssuche verwenden.. ;)


klezmor - Fr 21.12.07 12:35

Wahrscheinlich wirst du schon festgestellt haben, dass wenn dein Button den Fokus besitzt(ein kleiner punktierter Rahmen), die Buttonroutine automatisch bei Enter ausgelöst wird. Um den Fokus zu setzen kannst du die funktion button2.SetFocus aufrufen.


Yogu - Fr 21.12.07 12:49

Hehe, ein TButton besitzt die Eigenschaft Default. Wenn du diese auswählst, wird der Button, egal welches Element den Fokus besitzt, gedrückt. Der Button wird übrigens stärker dargestellt, so wie der OK-Button in Dialogfenstern. Ich denke, das ist die profionellste Variante.


110022 - Fr 21.12.07 13:00

wo kann ich diese default eigenschaft denn einstellen?


elundril - Fr 21.12.07 13:04

im objektinspektor! Dieses schmale fenster mit den Eigenschaften usw. Die Eigenschaften sind alphabetisch sortiert. Du musst den Button 1x anklicken und dann im Objektinspektor die eigenschaft "Default" von False auf True setzen.

Kleine Anmerkung: Die Eigenschaft Cancel ist das selbe nur mit der Esc-Taste.

lg elundril