Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi PopUp Menü: Durch welchem Button geöffnet? (https://www.delphipraxis.net/55698-popup-menue-durch-welchem-button-geoeffnet.html)

kurtm1 25. Okt 2005 16:32


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?

PierreB 25. Okt 2005 16:36

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:
var
button : String;

procedure form1.button1click(Sender : TObject);
begin
button := button1.caption;
Popup1.PopUp;
end;
Is ne sehr sehr einfache Methode, sollte aber gehen. ;)

moritz 25. Okt 2005 16:39

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ß

TeronG 25. Okt 2005 16:40

Re: PopUp Menü: Durch welchem Button geöffnet?
 
Zitat:

Zitat von kurtm1
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?

Wenn du auf den Button anklickst um das Menu zu öffnen dann sollte es doch auch mit Sender gehen oder nicht???

Bei Rechtsklick weis ich atm nix vernünftiges ...

kurtm1 25. Okt 2005 16:41

Re: PopUp Menü: Durch welchem Button geöffnet?
 
Zitat:

Zitat von moritz
Moin!

Wofür haben wir OOP? Geb jedem Button im Tag eine ID, und rufe die dann über TButton(Sender).Tag ab.

Gruß

super danke, das mit dem Tag vergeben hatte ich vorher schon gemacht, wusste nur nicht, wie ich diese dann abrufe

//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

TeronG 25. Okt 2005 16:53

Re: PopUp Menü: Durch welchem Button geöffnet?
 
hab mich mal n bissl damit gespielt und meine Abfrage in
Delphi-Quellcode:
procedure TForm1.PopupMenu1Popup(Sender: TObject);
reingeschrieben ...nur da ist der sender immer das Popupmenu selbst
Steh voll aufm Schlauch grade .... :wall:

kurtm1 25. Okt 2005 16:55

Re: PopUp Menü: Durch welchem Button geöffnet?
 
Zitat:

Zitat von TeronG
hab mich mal n bissl damit gespielt und meine Abfrage in
Delphi-Quellcode:
procedure TForm1.PopupMenu1Popup(Sender: TObject);
reingeschrieben ...nur da ist der sender immer das Popupmenu selbst
Steh voll aufm Schlauch grade .... :wall:

genau dieses Problem habe ich auch gehabt, dass der Sender das PopupMenü ist

himitsu 25. Okt 2005 16:58

Re: PopUp Menü: Durch welchem Button geöffnet?
 
Zitat:

Zitat von TeronG
hab mich mal n bissl damit gespielt und meine Abfrage in
Delphi-Quellcode:
procedure TForm1.PopupMenu1Popup(Sender: TObject);
reingeschrieben ...nur da ist der sender immer das Popupmenu selbst
Steh voll aufm Schlauch grade .... :wall:

Wenn das PopUp per
Delphi-Quellcode:
Popup1.PopUp;
aufgerufen wird, dann muß es doch sich selber im Sender stehen haben, da es ja direkt von einer eigenen Routine aufgerufen wird ;)

kurtm1 25. Okt 2005 17:03

Re: PopUp Menü: Durch welchem Button geöffnet?
 
Zitat:

Zitat von himitsu
Wenn das PopUp per
Delphi-Quellcode:
Popup1.PopUp;
aufgerufen wird, dann muß es doch sich selber im Sender stehen haben, da es ja direkt von einer eigenen Routine aufgerufen wird ;)

Was aber das generelle Problem nicht löst..

TeronG 25. Okt 2005 17:03

Re: PopUp Menü: Durch welchem Button geöffnet?
 
Zitat:

Zitat von himitsu
Wenn das PopUp per
Delphi-Quellcode:
Popup1.PopUp;
aufgerufen wird, dann muß es doch sich selber im Sender stehen haben, da es ja direkt von einer eigenen Routine aufgerufen wird ;)

Jaja .. und wie wird es dann aufgerufen, wenn ich es per rechtsklick aufrufe? (ich trage es also m OI dementsprchend ein)


edit:
Zitat:

Was aber das generelle Problem nicht löst..
aber es würde es erklären ... wenn ich es denn so gemacht hätte :mrgreen:

EDIT: also ne (theoretische) Rechtsklicklösung hätte ich höchstens über das Auswerten der Mausposition ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:56 Uhr.
Seite 1 von 2  1 2      

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