Delphi-PRAXiS

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 Jedem Menuitem eine zusätzliche aktion zuweisen? (https://www.delphipraxis.net/123407-jedem-menuitem-eine-zusaetzliche-aktion-zuweisen.html)

Cylence 1. Nov 2008 09:41


Jedem Menuitem eine zusätzliche aktion zuweisen?
 
Hallo,

ich möchte das bei jedem Menuitem einmal onclick zb eine Variable Popupopen auf False gesetzt wird und evtl auch noch andere aktionen durch geführt werden. Bis jetzt hab ich halt bei jedem onclick das was halt da getan werden soll, und einmal eine Prozedur PopupClosed gestartet. Kann ich aber irgendwie global sagen das bei jedem onclick bei menuitems oder evtl sogar noch bei anderen onclicks zb von Buttons oder so, das dort immer die aktion ausgeführt wird, ohne das ich die bei jedem click einzeln einfüge?
Dadurch würde ich unmengen an code sparen...

Ich hoffe jemand versteht was ich meine :-) *g*

schönes Wochenende!!

Gruß

Tom

hathor 1. Nov 2008 09:55

Re: Jedem Menuitem eine zusätzliche aktion zuweisen?
 
Zitat:

Zitat von Cylence
Hallo,

ich möchte das bei jedem Menuitem einmal onclick zb eine Variable Popupopen auf False gesetzt wird und evtl auch noch andere aktionen durch geführt werden. Bis jetzt hab ich halt bei jedem onclick das was halt da getan werden soll, und einmal eine Prozedur PopupClosed gestartet. Kann ich aber irgendwie global sagen das bei jedem onclick bei menuitems oder evtl sogar noch bei anderen onclicks zb von Buttons oder so, das dort immer die aktion ausgeführt wird, ohne das ich die bei jedem click einzeln einfüge?
Dadurch würde ich unmengen an code sparen...

Ich hoffe jemand versteht was ich meine :-) *g*

schönes Wochenende!!

Gruß

Tom

.
Nö.

Cylence 1. Nov 2008 10:07

Re: Jedem Menuitem eine zusätzliche aktion zuweisen?
 
ok also bisher hab ichs so:

Delphi-Quellcode:
procedure Playclick;
begin
  Popupopen := False;
  Filtergraph.play;
end;

procedure Stopclick;
begin
  Popupopen := False;
  Filtergraph.stop;
end;

//..... usw ....

procedure onPopupopen;
begin
  Popupopen := True;
end;

so ich hätte jetzt gerne das ständige Popupopen := False;
gerne irgendwie einmal untergebracht
so in der art irgendwie

Delphi-Quellcode:

procedure OnEveryMenuitemCLickADD;
begin
  Popupopen := False;
  inherited;
end;
irgendwie muss das doch möglich sein... jetzt verstanden was ich mein?

DeddyH 1. Nov 2008 10:11

Re: Jedem Menuitem eine zusätzliche aktion zuweisen?
 
In einer abgeleiteten Klasse müsste das möglich sein.

Cylence 1. Nov 2008 11:06

Re: Jedem Menuitem eine zusätzliche aktion zuweisen?
 
kann man evtl bei PopupMenu.OnChange erkennen ob das Popupmenu jetzt geschlossen wurde oder nur ein anderer Menüpunkt gewählt wurde...?
Das wäre auch noch eine recht schöne möglichkeit, evtl so etwas in der art wie

Delphi-Quellcode:

procedure onPopupmenuchange ...
begin
 if (sender as TPopupmenu).destroyed then Popupopen := False;
end;
aber destroyed gibts nich...nur destroying...könnte das eine möglichkeit sein? aber destroying ist kein Boolean...
eben hab ich noch getestet

if not (Sender as Tpopupmenu).MenuUpdating then

aber das geht auch nicht....

DeddyH 1. Nov 2008 11:45

Re: Jedem Menuitem eine zusätzliche aktion zuweisen?
 
Delphi-Quellcode:
type
  TMenuItem = class(Menus.TMenuItem)
  public
    procedure Click;override;
  end;

  TFormBlubb = class(TForm)
    PopupMenu1: TPopupMenu;
    Item1: TMenuItem;
    Item2: TMenuItem;
    Item3: TMenuItem;
    ...
  end;

...

implementation

procedure TMenuItem.Click;
begin
  PopupOpen := false;
  inherited;
end;

...

Cylence 1. Nov 2008 12:08

Re: Jedem Menuitem eine zusätzliche aktion zuweisen?
 
Hi,

cool ich Danke Dir! Das sieht gut aus genau sowas hab ich gesucht. Werd ich gleich ausprobieren

Wünsch noch ein schönes Wochenende!!!

Cylence 3. Nov 2008 07:33

Re: Jedem Menuitem eine zusätzliche aktion zuweisen?
 
Hi,

also ganz so funktioniert es nicht, leider reagiert das auch wenn man nur im Popupmenü auf die verschiedenen Items geht mit der Maus. Aber nun frag ich einfach dann noch ab ob in dem Moment die Maustaste gedrückt ist und jetzt passts soweit

Danke!!

Gruß

tom

DeddyH 3. Nov 2008 07:43

Re: Jedem Menuitem eine zusätzliche aktion zuweisen?
 
Merkwürdig, bei mir nicht. Aber wenn Du Dir behelfen konntest, ist es ja gut.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:09 Uhr.

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