![]() |
Action gleichzeitig bei PopupMenu und MainMenu
Ich verwende in meiner Anwendung ein Menü, in dem es eine Option "Kundendaten ansehen" gibt. Dasselbe gibt es in einem Popupmenü, das an eine TListView gehängt ist. Beide MenuItems referenzieren die gleiche Action. Frage: Wie kann ich herausfinden, von welchem Menü (MainMenu oder PopupMenu) die Action gestartet wurde? Die Name-Eigenschaft des Sender-Parameters gibt mir nur den Namen der Action zurück
|
Re: Action gleichzeitig bei PopupMenu und MainMenu
Delphi-Quellcode:
Procedure OnClick...(Sender: TObjekt);
Begin If Sender = MainMenu1Item Then {vom Memü} Else {das andere} If Sender = PopupMenu1Item Then {ebenfalls das Andere} End; |
Re: Action gleichzeitig bei PopupMenu und MainMenu
Ich zitiere mich mal selbst:
Zitat:
|
Re: Action gleichzeitig bei PopupMenu und MainMenu
Ja, hatte es erst falsch verschtanden.
siehe oben, oder so:
Delphi-Quellcode:
[EDIT]
Procedure TForm1.gfdgfd1Click(Sender: TObject);
Begin If TMenuItem(Sender).Parent is TMainMenu Then ... End; Notfalls moßt do noch ein paar Ebenen höher gehen (wenn es sich z.B. um ein Untermenü in einem Untermenü handelt)
Delphi-Quellcode:
Procedure TForm1.gfdgfd1Click(Sender: TObject);
Begin If TMenuItem(Sender).Parent.Parent... is TMainMenu Then ... End; Oder du gibst einfach der Eigenschaft Tag der MenuItem's im Menü einen anderen Wert, als denen im PopupMenü
Delphi-Quellcode:
Procedure TForm1.gfdgfd1Click(Sender: TObject);
Begin If Sender.Tag = 1 Then ... End; |
Re: Action gleichzeitig bei PopupMenu und MainMenu
Ok, danke, ich werde mir mal deinen Lösungsweg merken, aber wenn jemand eine andere Methode OHNE zusätzliche OnClick-Handler kennt, wäre ich sehr dankbar, ich verliere jetzt schon fast den Überblick...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:58 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