TEdit mit TButton verbinden [gelöst]

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
AlterMann
Beiträge: 233
Registriert: So 13. Dez 2009, 09:43
OS, Lazarus, FPC: Lazarus 3.0 (rev lazarus_3_0) FPC 3.2.2 i386-win32-win32/win64
CPU-Target: x86 64Bit
Wohnort: Niederösterreich

TEdit mit TButton verbinden [gelöst]

Beitrag von AlterMann »

Ich bin überzeut es geht ganz einfach und ich habe mich redlich bemüht es selbst zu finden:

Wie kann ich ein TEdit-Objekt mit einem TButton-Objekt verbinden, sodaß wenn der Fokus am TEdit liegt ein Drücken der Entertaste das ONClick Ereignis des zugehörigen Buttons auslöst?

Danke für die Aufmerksamkeit.
Zuletzt geändert von AlterMann am So 20. Dez 2009, 20:17, insgesamt 1-mal geändert.
Früher war alles besser. Und aus Holz!

DiBo33
Beiträge: 334
Registriert: Do 11. Okt 2007, 18:01

Re: TEdit mit TButton verbinden

Beitrag von DiBo33 »

Gib mal dem Button die Eigenschaft: Default := true;

AlterMann
Beiträge: 233
Registriert: So 13. Dez 2009, 09:43
OS, Lazarus, FPC: Lazarus 3.0 (rev lazarus_3_0) FPC 3.2.2 i386-win32-win32/win64
CPU-Target: x86 64Bit
Wohnort: Niederösterreich

Re: TEdit mit TButton verbinden

Beitrag von AlterMann »

Vielen Dank für die schnelle Antwort.

Aber das trifft noch nicht des Pudels Kern.

Ich habe mehrere solcher TEdit - TButton Kombinationen und möchte, daß der jeweilige Button immer dann auf die Entertaste reagiert wenn die zugehörige EditBox fokussiert ist.
Früher war alles besser. Und aus Holz!

knight
Beiträge: 802
Registriert: Mi 13. Sep 2006, 22:30

Re: TEdit mit TButton verbinden

Beitrag von knight »

Hast du auch mal einen Blick auf die Seite Misc in der Komponentenpalette geworfen? Möglicherweise findest du dort etwas passendes.

knight

DiBo33
Beiträge: 334
Registriert: Do 11. Okt 2007, 18:01

Re: TEdit mit TButton verbinden

Beitrag von DiBo33 »

Das wird nicht so einfach.

Nummeriere die Namen der Buttons durch (bsp: Button1..Button5), den dazugehörigen Edits gibst du in der Eigenschaft Tag jeweils die Nummer (1..5).

Danach definierst du für jeden Button das gleiche OnKeyPress-Ereignis (bsp. EditKeyPress).

Code: Alles auswählen

procedure TForm1.EditKeyPress(Sender: TObject; var Key: char);
var
  s: string;
begin
  if Key = #13 then begin
    s := Format('Button%d', [TEdit(Sender).Tag]);
    TButton(FindComponent(s)).Click;
  end;
end;

DiBo33
Beiträge: 334
Registriert: Do 11. Okt 2007, 18:01

Re: TEdit mit TButton verbinden

Beitrag von DiBo33 »

Weiters gibt es unter Misc auch den TEditButton, hier hast du aber für den Button kein Text sondern ein Icon.
Auch hier musst du dann im OnKeyPress-Ereignis eingreifen.

Code: Alles auswählen

procedure TForm1.EditButton1KeyPress(Sender: TObject; var Key: char);
begin
  if Key = #13 then begin
    TEditButton(Sender).Button.Click;
  end;
end;

AlterMann
Beiträge: 233
Registriert: So 13. Dez 2009, 09:43
OS, Lazarus, FPC: Lazarus 3.0 (rev lazarus_3_0) FPC 3.2.2 i386-win32-win32/win64
CPU-Target: x86 64Bit
Wohnort: Niederösterreich

Re: TEdit mit TButton verbinden

Beitrag von AlterMann »

Vielen Dank für die Antworten, ich habe mich für die 1.Variante entschieden und es funktioniert prächtig.

Danke.
Früher war alles besser. Und aus Holz!

Antworten