AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Von welcher Komponente kommt popup-Aufruf

Ein Thema von idefix2 · begonnen am 28. Apr 2015 · letzter Beitrag vom 29. Apr 2015
Antwort Antwort
idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#1

Von welcher Komponente kommt popup-Aufruf

  Alt 28. Apr 2015, 22:38
Hallo, ich stehe wieder einmal auf dem Schlauch.

Ich habe ein Popumenu, das ich verschiedenen Komponenten eines Formular zuordne. Wie kann ich in der onclick-Routine eines TMenuitem auf einfache Art feststellen, auf welche Komponente geklickt wurde, um das Popup-menu zu öffnen?
  Mit Zitat antworten Zitat
Benutzerbild von milos
milos

Registriert seit: 14. Jul 2008
Ort: Bern (CH)
508 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Von welcher Komponente kommt popup-Aufruf

  Alt 28. Apr 2015, 23:13
Hi,

meinst du sowas?
Delphi-Quellcode:
procedure TfrmMain.mntmN32Click(Sender: TObject);
var
  LMenuItem : TMenuItem;
begin
  LMenuItem := TMenuItem(Sender);

  ShowMessage(LMenuItem.Caption);
end;
Du kannst das Sender als diese Komponente casten die sie wirklich ist. z.B. TButton(Object), TLabel(Object) usw...

Freundliche Grüsse
Milos
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Von welcher Komponente kommt popup-Aufruf

  Alt 28. Apr 2015, 23:17
Dafür gibt es doch was von ...
http://docwiki.embarcadero.com/Libra...PopupComponent

@milos

Jeder Event, der von dem TPopupMenu ausgelöst wird hat als Sender ... das TPopupMenu
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo (28. Apr 2015 um 23:19 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von milos
milos

Registriert seit: 14. Jul 2008
Ort: Bern (CH)
508 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Von welcher Komponente kommt popup-Aufruf

  Alt 28. Apr 2015, 23:18
Erst beim 2. mal richtig kapiert was du wolltest

Hier ein bisschen Code für alles:
Delphi-Quellcode:
procedure TfrmMain.mntmN32Click(Sender: TObject);
var
  LMenuItem : TMenuItem;
  LPopupMenu : TPopupMenu;
  LParentComponent : TComponent;
begin
  LMenuItem := TMenuItem(Sender);
  LPopupMenu := TPopupMenu(LMenuItem.GetParentMenu);
  LParentComponent := TComponent(LPopupMenu.PopupComponent); // Komponente auf der TPopupMenu liegt

  ShowMessage(LParentComponent.Name);
end;
Milos
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: Von welcher Komponente kommt popup-Aufruf

  Alt 28. Apr 2015, 23:31
@milos

Wieso ein TComponent nochmals zu einem TComponent casten?

Noch componentiger geht nicht

Und wenn das Popup poppt, dann feuert
http://docwiki.embarcadero.com/Libra...upMenu.OnPopup
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von milos
milos

Registriert seit: 14. Jul 2008
Ort: Bern (CH)
508 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Von welcher Komponente kommt popup-Aufruf

  Alt 28. Apr 2015, 23:58
...Noch componentiger geht nicht
Genau deswegen

Nee, hab den 2. Code einfach in der universal IDE "notepad.exe" erweitert, hab nicht sehen können, dass es schon ein TComponent ist
Milos
  Mit Zitat antworten Zitat
idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#7

AW: Von welcher Komponente kommt popup-Aufruf

  Alt 29. Apr 2015, 00:05
Danke.
Ich habe die Dokumentation von TMenuitem von vorne nach hinten nach irgendetwas brauchbarem durchsucht, aber eigentlich ist es logisch, dass die Eigenschaft zum Popupmenu gehört und nicht zum Menuitem.
  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 11:25 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