Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Prozedur aufrufen - Onclick - Edit (https://www.delphipraxis.net/123100-prozedur-aufrufen-onclick-edit.html)

isilive 27. Okt 2008 18:07


Prozedur aufrufen - Onclick - Edit
 
Hi Leute!

Ich hab ein Edit Feld und einen Button.

Für das 'OnClick' vom Button hab ich schon eine Prozedur geschrieben die den 'edit1.text' im 'memo1' sucht und dann markiert.

Jetzt möchte ich, dass beim Drücken von Enter im Edit1 dasselbe passiert.

Delphi-Quellcode:
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   if key <> vk_return then exit;
   TForm1.Button1Click;
end;
funktioniert nicht (nicht genügend Parameter).

Wie kann ich die bereits bestehende Prozedur verwenden? Oder muss ich diese in eine eigene Prozedur verschieben und danach sowohl vom 'OnClick' - als auch vom 'KeyDown' Ereignis aufrufen?

DeddyH 27. Okt 2008 18:21

Re: Prozedur aufrufen - Onclick - Edit
 
Delphi-Quellcode:
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   if key = vk_return then
     Button1Click(Button1);
end;

Maja Jessica 27. Okt 2008 18:25

Re: Prozedur aufrufen - Onclick - Edit
 
Hi,

so als Vorschlag, ich bewerkstellige das meist so:

Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
 if key = #13 then Button1Click(Self);
end;
MJ

uligerhardt 27. Okt 2008 18:27

Re: Prozedur aufrufen - Onclick - Edit
 
Zitat:

Zitat von DeddyH
Delphi-Quellcode:
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   if key = vk_return then
     Button1Click(Button1);
end;

Oder
Delphi-Quellcode:
  Button1.Click;

Maja Jessica 27. Okt 2008 18:31

Re: Prozedur aufrufen - Onclick - Edit
 
Hi
Zitat:

Button1Click(Button1);
Zitat:

Button1.Click
Sicher? :gruebel:

toms 27. Okt 2008 18:32

Re: Prozedur aufrufen - Onclick - Edit
 
Zitat:

Zitat von Maja Jessica
Hi
Zitat:

Button1Click(Button1);
Zitat:

Button1.Click
Sicher? :gruebel:

Nein, Button1.Click; :wink:

DeddyH 27. Okt 2008 18:33

Re: Prozedur aufrufen - Onclick - Edit
 
Wieso nicht? Ist doch eine Methode von TButton.

Maja Jessica 27. Okt 2008 18:39

Re: Prozedur aufrufen - Onclick - Edit
 
Klar, geht beides.
Mir geht es darum, was denn nun "richtiger" oder "optimal" ist.
Spricht etwas gegen einer der gewählten Techniken?

MJ

DeddyH 27. Okt 2008 18:49

Re: Prozedur aufrufen - Onclick - Edit
 
Zitat:

Zitat von Maja Jessica
Spricht etwas gegen einer der gewählten Techniken?

IMHO nicht. Wenn man keine "Ferkeleien" mit dem Sender vorhat, ist das Geschmackssache.

SirThornberry 27. Okt 2008 19:30

Re: Prozedur aufrufen - Onclick - Edit
 
Buttonx.Click zu verwenden hat den Vorteil das man im Quelltext nichts ändern muss wenn man dem Button irgendwann eine neue Ereignisbehandlungsfunktion zuweist.
Alternativ ginge auch noch:
Delphi-Quellcode:
if Assigned(Buttonx.OnClick) then
  Buttonx.OnClick(Buttonx);


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:20 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz