AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Jedem Menuitem eine zusätzliche aktion zuweisen?
Thema durchsuchen
Ansicht
Themen-Optionen

Jedem Menuitem eine zusätzliche aktion zuweisen?

Ein Thema von Cylence · begonnen am 1. Nov 2008 · letzter Beitrag vom 3. Nov 2008
Antwort Antwort
Benutzerbild von Cylence
Cylence

Registriert seit: 2. Sep 2004
Ort: Allgäu
246 Beiträge
 
Delphi 7 Enterprise
 
#1

Jedem Menuitem eine zusätzliche aktion zuweisen?

  Alt 1. Nov 2008, 10:41
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
Tom
Just DO it
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#2

Re: Jedem Menuitem eine zusätzliche aktion zuweisen?

  Alt 1. Nov 2008, 10:55
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ö.
  Mit Zitat antworten Zitat
Benutzerbild von Cylence
Cylence

Registriert seit: 2. Sep 2004
Ort: Allgäu
246 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Jedem Menuitem eine zusätzliche aktion zuweisen?

  Alt 1. Nov 2008, 11:07
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?
Tom
Just DO it
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#4

Re: Jedem Menuitem eine zusätzliche aktion zuweisen?

  Alt 1. Nov 2008, 11:11
In einer abgeleiteten Klasse müsste das möglich sein.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Cylence
Cylence

Registriert seit: 2. Sep 2004
Ort: Allgäu
246 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Jedem Menuitem eine zusätzliche aktion zuweisen?

  Alt 1. Nov 2008, 12:06
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....
Tom
Just DO it
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#6

Re: Jedem Menuitem eine zusätzliche aktion zuweisen?

  Alt 1. Nov 2008, 12:45
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;

...
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Cylence
Cylence

Registriert seit: 2. Sep 2004
Ort: Allgäu
246 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Jedem Menuitem eine zusätzliche aktion zuweisen?

  Alt 1. Nov 2008, 13:08
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!!!
Tom
Just DO it
  Mit Zitat antworten Zitat
Benutzerbild von Cylence
Cylence

Registriert seit: 2. Sep 2004
Ort: Allgäu
246 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Jedem Menuitem eine zusätzliche aktion zuweisen?

  Alt 3. Nov 2008, 08:33
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
Tom
Just DO it
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#9

Re: Jedem Menuitem eine zusätzliche aktion zuweisen?

  Alt 3. Nov 2008, 08:43
Merkwürdig, bei mir nicht. Aber wenn Du Dir behelfen konntest, ist es ja gut.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:30 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