Delphi-PRAXiS
Seite 2 von 2     12   

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/)
-   -   Prism Button.click simulieren? (https://www.delphipraxis.net/49225-button-click-simulieren.html)

Taladan 8. Jul 2005 09:22

Re: Button.click simulieren?
 
Zitat:

Zitat von BrunoT
Hi Taladan,

geht das nicht so:

Delphi-Quellcode:
Procedure MyClick;
Begin
  //Das will ich ausführen
  ...
end;

...

procedure Hauptfenster.MenuItem3_Click(sender: System.Object; e: System.EventArgs);
begin
  MyClick;
end;

procedure Hauptfenster.MenuItem4_Click(sender: System.Object; e: System.EventArgs);
begin
  MyClick;
end;
mfg

BrunoT

[edit=alcaeus]Delphi-Tags korrigiert. Mfg, alcaeus[/edit]

Das ist eine Möglichkeit wie man das Problem umgehen kann, umgehen möchte ich aber nicht.

barf00s 8. Jul 2005 09:39

Re: Button.click simulieren?
 
Delphi-Quellcode:
case TMenuItem(Sender).Tag of
  0: ;
  1: ;
  2: ;
end;
...

Robert_G 8. Jul 2005 09:42

Re: Button.click simulieren?
 
Delphi-Quellcode:
MenuItem.Click;
Barfoos' Methode geht natürlich niht, da nur die Klasse selbst den event aufrufen darf.

@Taladan
Rate mal was PerformClick macht.... :P
Vergiss nicht: In .Net sind events multicast delegates, deshalb können mehrere Methoden daran gekoppelt sein.
Delphi-Quellcode:
method ClickHandler1(sender: Object; e: EventArgs);
method ClickHandler2(sender: Object; e: EventArgs);
method ClickHandler3(sender: Object; e: EventArgs);
Delphi-Quellcode:
begin
  menuItem1.Click += ClickHandler1;
  menuItem1.Click += ClickHandler2;
  menuItem1.Click += ClickHandler3;
end;
Wenn du nun daraif klickst (Oder PerformClick aufrufst) werden ClickHandler1 - 3 in genau dieser Reihenfolge aufgerufen.
Brunos Methode würde nur einen aufrufen.

barf00s 8. Jul 2005 09:47

Re: Button.click simulieren?
 
hö?

wenn dem menuitem nen clickevent zugewiesen ist, DANN wird das auch durch das .click aufgerufen...

es sei denn du meinst das case tag of dingen eben.....

Robert_G 8. Jul 2005 09:49

Re: Button.click simulieren?
 
Zitat:

Zitat von barf00s
hö?

Du hast schon gesehen, dass es ein .Net Thread ist?

barf00s 8. Jul 2005 09:50

Re: Button.click simulieren?
 
[edit]
ja und?

gnarf
verwirr micht nicht.
[/edit]

Robert_G 8. Jul 2005 10:00

Re: Button.click simulieren?
 
Zitat:

Zitat von barf00s
ja und?

nix und. ;) Das Feuern eines Events bleibt einzig und allein dem Besitzer vorbehalten.
Wo kämen wir denn da hin? :shock:

Wobei ich es mir in einer .Net-Sprache fast vorstellen könnte, die sowas möglich macht:
Delphi-Quellcode:
var
  s : string;
begin
  setLength(s, 5);
*ROFL* (Ist ein Insiderwitz, aber zum Kaputtlachen wenn man bedenkt, dass jemand diese Funktion tatsächlich bei vollem Bewusstsein in die RTL gebaut hat :lol: )

Zitat:

Zitat von barf00s
gnarf
verwirr micht nicht.

*fulp*
zu spät... :stupid:

barf00s 8. Jul 2005 10:25

Re: Button.click simulieren?
 
(*.*(@==(-.-)°

;)

Taladan 4. Dez 2005 17:45

Re: Button.click simulieren?
 
Es gibt die Procedure Btn.PerformClick, die jedoch nicht über die IDE/Codeverfolständiger angezeigt wird (warum auch immer).

Elvis 4. Dez 2005 18:21

Re: Button.click simulieren?
 
Zitat:

Zitat von Taladan
Es gibt die Procedure Btn.PerformClick, die jedoch nicht über die IDE/Codeverfolständiger angezeigt wird (warum auch immer).

Steht das nicht schon in Beitrag #13? :gruebel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:25 Uhr.
Seite 2 von 2     12   

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