AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Gibt es in einer Form eine Liste der PopUp Menus

Ein Thema von Amateurprofi · begonnen am 30. Mär 2020 · letzter Beitrag vom 31. Mär 2020
Antwort Antwort
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.053 Beiträge
 
Delphi XE2 Professional
 
#1

Gibt es in einer Form eine Liste der PopUp Menus

  Alt 30. Mär 2020, 22:01
Mit
Delphi-Quellcode:
for I:=0 to ControlCount-1 do
   S:=S+Controls[I].Name+#13;
ShowMessage(S);
kann ich die in einer Form enthaltenen Controls auflisten

PopUp-Menus sind da nicht enthalten.

Gibt es eine Möglichkeit, ähnlich wie bei Controls, eine Liste der vorhandenen PopUp-Menus auszuwerten?
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.049 Beiträge
 
Delphi 2009 Professional
 
#2

AW: Gibt es in einer Form eine Liste der PopUp Menus

  Alt 30. Mär 2020, 22:30
Was du suchst ist Components, das enthält alle Komponenten. Controls enthält alle Steuerelemente, also sichtbare, die sich in einem Parent befinden. Und ein PopupMenü ist nicht sichtbar sondern eins von diesen Dingern, die zur Entwurfszeit nur als kleines Quadrat mit Text auftauchen, und die auch kein Parent haben - man kann sie ja nur auf der Form, aber sonst nirgendwo rein schieben. Siehe OH.
Janni
2005 PE, 2009 PA, XE2 PA

Geändert von Redeemer (30. Mär 2020 um 22:34 Uhr) Grund: +Weiterer Unterschied ist Parent
  Mit Zitat antworten Zitat
Alt 31. Mär 2020, 01:10     Erstellt von Frühlingsrolle
Dieser Beitrag wurde von Daniel gelöscht. - Grund: Verdacht auf SPAM und den damit verbundenen verschwenderischen Umgang von wertvollen Bits und Bytes
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.886 Beiträge
 
Delphi 12 Athens
 
#3

AW: Gibt es in einer Form eine Liste der PopUp Menus

  Alt 31. Mär 2020, 09:47
Dein Controls ist ja Self.Controls, was Alles an der Form rausgibt.
Was z.B. auf einem Panel liegt, ist dort nicht drin, sondern in dem Panel. Und dazu noch das Erwähnte, mit mit den nur "Sichtbaren", also was nicht sichbar ist (nein, Visible=False ist nicht gemeint) fehlt da natürlich auch.

x.Controls : TWinControl -> y.Parent = x -> alle sichtbaren Komponenten direkt auf der Komponente

x.Components : TComponent (inkl. TWinControl und den TPopupMenü's auf der Form) -> y.Owner = x -> alles was mit Ty.Create(x) erstellt wurde ... und alles was im FormDesigner draufgepackt wurde, hat als Besitzer die Form
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (31. Mär 2020 um 10:35 Uhr)
  Mit Zitat antworten Zitat
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.053 Beiträge
 
Delphi XE2 Professional
 
#4

AW: Gibt es in einer Form eine Liste der PopUp Menus

  Alt 31. Mär 2020, 10:16
Was du suchst ist Components, das enthält alle Komponenten. Controls enthält alle Steuerelemente, also sichtbare, die sich in einem Parent befinden. Und ein PopupMenü ist nicht sichtbar sondern eins von diesen Dingern, die zur Entwurfszeit nur als kleines Quadrat mit Text auftauchen, und die auch kein Parent haben - man kann sie ja nur auf der Form, aber sonst nirgendwo rein schieben. Siehe OH.
Danke, Redeemer.
Genau danach suchte ich.
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.053 Beiträge
 
Delphi XE2 Professional
 
#5

AW: Gibt es in einer Form eine Liste der PopUp Menus

  Alt 31. Mär 2020, 10:22
Mit ddr Funktion GetMenu() bekommst du das gesuchte PopupMenu direkt - zumindest dessen Handle (HMENU).
Nein.
GetMenu() liefert das Handle des Menus, dass dem Fenster zugewiesen ist und nicht ein PopUp-Menu.
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.053 Beiträge
 
Delphi XE2 Professional
 
#6

AW: Gibt es in einer Form eine Liste der PopUp Menus

  Alt 31. Mär 2020, 10:24
Dein Controls ist ja Self.Controls, was Alles an der Form rausgibt.
Was z.B. auf einem Panel liegt, ist dort nicht drin, sondern in dem Panel. Und dazu noch das Erwähnte, mit mit den nur "Sichtbaren", also was nicht sichbar ist (nein, kein Visibe=False) fehlt da natürlich auch.

x.Controls : TWinControl -> y.Parent = x -> alle sichtbaren Komponenten direkt auf der Komponente

x.Components : TComponent (inkl. TWinControl und den TPopupMenü's auf der Form) -> y.Owner = x -> alles was mit Ty.Create(x) erstellt wurde ... und alles was im FormDesigner draufgepackt wurde, hat als Besitzer die Form
Danke, himitsu für die Erläuterungen.
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 19:18 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