Autor Beitrag
Einsamer Schütze
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 37

XP Prof
Delphi 2007 professional
BeitragVerfasst: Mi 11.10.06 10:30 
Hallo Entwickler,
ich habe ein (für mich leider nicht) triviales Auslöse-Problem.
Wenn ich einen Button anklicke, möchte ich zugleich auf einer CheckBox ein Klick-Ereignis auslösen.
Wie macht man das?

Vielen Dank,

ES
cuejo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 142

Win XP
Delphi 7 Personal und 2005 PE
BeitragVerfasst: Mi 11.10.06 10:39 
Du musst im OnClick-Ereignis des Buttons einfach das der CheckBox aufrufen. Etwa so:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
//...
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
CheckBox1Click(Self);
//...
end;

_________________
Computer sind dumm, aber fleißig. Deshalb arbeite ich so gerne damit.
Einsamer Schütze Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 37

XP Prof
Delphi 2007 professional
BeitragVerfasst: Do 12.10.06 10:33 
Titel: Identität des 'Self' Parameters
Danke, es tut.
Kannst Du mir noch sagen, was ich da als Self-Parameter übergebe, den Button, der das Ereignis auslöst, oder die Checkbox sich selbst oder...?

Gruß an alle, die hier helfen,

ES
sticky
Hält's aus hier
Beiträge: 9

WIN XP

BeitragVerfasst: Do 12.10.06 11:27 
das ginge auch. wenn ich dich richtig verstanden habe



ausblenden Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.Button5Click(Sender: TObject);
begin
CheckBox1.Checked := true;
end;


Moderiert von user profile iconraziel: Delphi-Tags hinzugefügt
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 12.10.06 12:07 
Sender ist einfach nur eine Hilfe für dich. Damit kannst du beispielsweise unterscheiden, ob du selbst das Ereignis von woanders ausgelöst hast (wenn du etwas anderes als die Checkbox übergibst) oder ob das Ereignis durch einen echten Klick ausgelöst wurde (dann wird automatisch die Checkbox übergeben).

Andere Anwendungsmöglichkeit: Wenn bei mehreren Knöpfen fast das selbe passieren soll, dann kann man allen die selbe OnClick-Routine zuweisen und an der Stelle, wo es einen Unterschied gibt mittels des Sender-Parameters feststellen, welcher Knopf gedrückt wurde.

Wenn du den Parameter nicht in der OnClick-Methode auswertest, ist es vollkommen egal, was du übergibst, du kannst dann auch beispielsweise nil übergeben.

user profile iconsticky hat folgendes geschrieben:
das ginge auch. wenn ich dich richtig verstanden habe
ausblenden Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.Button5Click(Sender: TObject);
begin
CheckBox1.Checked := true;
end;


Nun ja, aber damit wird ja auch der Status (Checked) geändert, er wollte aber nur die Ereignisbehandlung aufrufen! (Jedenfalls hörte es sich so an...)
cuejo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 142

Win XP
Delphi 7 Personal und 2005 PE
BeitragVerfasst: Do 12.10.06 17:40 
Titel: Re: Identität des 'Self' Parameters
user profile iconEinsamer Schütze hat folgendes geschrieben:

Kannst Du mir noch sagen, was ich da als Self-Parameter übergebe, den Button, der das Ereignis auslöst, oder die Checkbox sich selbst oder...?

...die Klasse. Self steht für die Klasse. Also das was im Prozedurenkopf steht.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TForm1.Button1Click(Sender: TObject);  
begin  
CheckBox1Click(Self);  
//...  
end;

Du kannst aber auch den Button übergeben, oder oder oder...

_________________
Computer sind dumm, aber fleißig. Deshalb arbeite ich so gerne damit.