![]() |
PopUp Menü: Durch welchem Button geöffnet?
Also ich habe 9 Buttons, die allesamt das selbe PopUp Menü verwenden. Jetzt würde ich gerne herausbekommen, von/durch welchem/n Button das Menü aktiviert wurde.
Wie geht das? |
Re: PopUp Menü: Durch welchem Button geöffnet?
Dann übergib doch einfach eine Variable die z.B. die Buttoncaption enthält:
So etwas:
Delphi-Quellcode:
Is ne sehr sehr einfache Methode, sollte aber gehen. ;)
var
button : String; procedure form1.button1click(Sender : TObject); begin button := button1.caption; Popup1.PopUp; end; |
Re: PopUp Menü: Durch welchem Button geöffnet?
Moin!
Wofür haben wir OOP? Geb jedem Button im Tag eine ID, und rufe die dann über TButton(Sender).Tag ab. Gruß |
Re: PopUp Menü: Durch welchem Button geöffnet?
Zitat:
Bei Rechtsklick weis ich atm nix vernünftiges ... |
Re: PopUp Menü: Durch welchem Button geöffnet?
Zitat:
//EDIT: da bekomme ich als Tag aber immer nur den Wert 0 zurück das dürfte wie bereits TeronG gesagt hat am Rechtsklick liegen |
Re: PopUp Menü: Durch welchem Button geöffnet?
hab mich mal n bissl damit gespielt und meine Abfrage in
Delphi-Quellcode:
reingeschrieben ...nur da ist der sender immer das Popupmenu selbst
procedure TForm1.PopupMenu1Popup(Sender: TObject);
Steh voll aufm Schlauch grade .... :wall: |
Re: PopUp Menü: Durch welchem Button geöffnet?
Zitat:
|
Re: PopUp Menü: Durch welchem Button geöffnet?
Zitat:
Delphi-Quellcode:
aufgerufen wird, dann muß es doch sich selber im Sender stehen haben, da es ja direkt von einer eigenen Routine aufgerufen wird ;)
Popup1.PopUp;
|
Re: PopUp Menü: Durch welchem Button geöffnet?
Zitat:
|
Re: PopUp Menü: Durch welchem Button geöffnet?
Zitat:
edit: Zitat:
EDIT: also ne (theoretische) Rechtsklicklösung hätte ich höchstens über das Auswerten der Mausposition ... |
Re: PopUp Menü: Durch welchem Button geöffnet?
du weisst allen 9 buttons eine prozedur zu für das ereignis button.onclick und
dann kannst du nur Tbutton(Sender) schreiben und dann kannst du auf das element zugreifen. |
Re: PopUp Menü: Durch welchem Button geöffnet?
Zitat:
|
Re: PopUp Menü: Durch welchem Button geöffnet?
Zitat:
Delphi-Quellcode:
ShowMessage((PopupMenue1.Popupcomponent as TButton).Caption);
|
Re: PopUp Menü: Durch welchem Button geöffnet?
ok ich habs inzwischen selbst zusammengebracht
Setze beim Ereignis OnContextPopUp des Buttons einen Index=Button.Tag und verwende dies dann später.. Zwar ein wenig umständlich aber es funzt //EDIT: thx an shmia, das funzt und ist kurz |
Re: PopUp Menü: Durch welchem Button geöffnet?
Zitat:
Nagut dann kan man ja sogar wieder mit dem .Tag (Integer) arbeiten! :mrgreen:
Delphi-Quellcode:
bzw.:
ShowMessage(IntToStr((PopupMenu1.PopupComponent as TButton).Tag));
Delphi-Quellcode:
ShowMessage(IntToStr(PopupMenu1.PopupComponent.Tag));
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:35 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