![]() |
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:
funktioniert nicht (nicht genügend Parameter).
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); begin if key <> vk_return then exit; TForm1.Button1Click; end; 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? |
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; |
Re: Prozedur aufrufen - Onclick - Edit
Hi,
so als Vorschlag, ich bewerkstellige das meist so:
Delphi-Quellcode:
MJ
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin if key = #13 then Button1Click(Self); end; |
Re: Prozedur aufrufen - Onclick - Edit
Zitat:
Delphi-Quellcode:
Button1.Click;
|
Re: Prozedur aufrufen - Onclick - Edit
Hi
Zitat:
Zitat:
|
Re: Prozedur aufrufen - Onclick - Edit
Zitat:
|
Re: Prozedur aufrufen - Onclick - Edit
Wieso nicht? Ist doch eine Methode von TButton.
|
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 |
Re: Prozedur aufrufen - Onclick - Edit
Zitat:
|
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); |
Re: Prozedur aufrufen - Onclick - Edit
Oder man lagert den Code, der in OnClick ausgeführt wird, in eine eigene Methode aus und ruft diese auf.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:54 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-2025 by Thomas Breitkreuz