AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Popup-Menu dynamisch an ListView's, ListView erkennen ?
Thema durchsuchen
Ansicht
Themen-Optionen

Popup-Menu dynamisch an ListView's, ListView erkennen ?

Ein Thema von hoika · begonnen am 28. Jul 2009 · letzter Beitrag vom 28. Jul 2009
Antwort Antwort
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#1

Popup-Menu dynamisch an ListView's, ListView erkennen ?

  Alt 28. Jul 2009, 16:26
Hallo #,

ich hänge dynamisch ein PopupMenu (mit Untermenüs)
an ein TListView.
Wie komme ich in der OnClick-Methode jetzt das das ListView am besten ran.

- "hochhangeln" beginnend beim Sender(TMenuItem), bis das TListView gefunden wurde
- beim Anpappen des Popup an das ListView sich das irgendwie merken
z.B. in ein TList und den List-Index im Menu-Tag speichern

Wie würdet Ihr das machen ?


Heiko
Heiko
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Popup-Menu dynamisch an ListView's, ListView erkennen ?

  Alt 28. Jul 2009, 16:46
Geht das nicht:
TPopUpMenu(Sender).PopupComponent Bei Untermenüs muss man u.U. zum ersten PopUpmenü hochhangeln.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Popup-Menu dynamisch an ListView's, ListView erkennen ?

  Alt 28. Jul 2009, 16:58
Hallo,

das Hochhangeln klappt bei mir nicht

Delphi-Quellcode:
{ xls }
    MenuItem:= TMenuItem(Sender);
   { Export to }
    MenuItem:= MenuItem.Parent;
   { PopupMenu }
    PopupMenu:= TPopupMenu(MenuItem.Parent);
    ListView:= TListView(PopupMenu.PopupComponent);
Das Menu besteht aus einem TMenuItem(Export to) als SubMenu
und darunter kommt das xls

Delphi-Quellcode:
  Export nach
    |- xls

Das ListView ist NIL ;(
In der Hilfe steht zu Parent

Wenn es sich bei dem Menüeintrag um einen Eintrag im Hauptmenü oder um einen übergeordneten Eintrag eines Popup-Menüs handelt, ist Parent mit den Wert der Eigenschaft Items des betreffenden Menüs identisch.

Das kapier ich überhaupt nicht !!!


#Update:#
PopupComponent habe ich jetzt beim Erzeugen des Popupmenus gesetzt.
Es klappt trotzdem nicht., ListView bleibt NIL ;(

Hier der Add-Code

Delphi-Quellcode:
procedure TForm_Base.SetExportPopMenu;
var
  iComponent : Integer;
  Component : TComponent;
  ListView : TListView;
  PopupMenu : TPopupMenu;
  ExportSubMenu : TMenuItem;
  MenuItem : TMenuItem;
  ListViewMenuItem : TListViewMenuItem;
begin
  for iComponent:= 0 to ComponentCount-1 do
  begin
    Component:= Components[iComponent];
    if Component is TListView then
    begin
      ListView:= TListView(Component);
      if ListView.PopupMenu=NIL then
      begin
        PopupMenu:= TPopupMenu.Create(ListView);
        ListView.PopupMenu:= PopupMenu;
      end;
      ListView.PopupMenu.PopupComponent:= ListView;

     { 7090, "Export nach" }
      ExportSubMenu:= TMenuItem.Create(Self);
      ExportSubMenu.Caption:= LS(7090);
      ListView.PopupMenu.Items.Add(ExportSubMenu);

     { xls }
      MenuItem:= TMenuItem.Create(Self);
      MenuItem.Caption:= LoadStr(7881);
      MenuItem.Tag:= -1;
      MenuItem.OnClick:= DoExportListViewTo_XLS;
      ExportSubMenu.Add(MenuItem);

      ListViewMenuItem:= TListViewMenuItem.Create;
      ListViewMenuItem.MenuItem:= MenuItem;
      ListViewMenuItem.ListView:= ListView;
      ListViewMenuItemList.Add(ListViewMenuItem);

     { - }
      MenuItem:= TMenuItem.Create(Self);
      MenuItem.Caption:= '-';
      ListView.PopupMenu.Items.Add(MenuItem);

     { to close }
      MenuItem:= TMenuItem.Create(Self);
     { 5040, "&Beenden" }
      MenuItem.Caption:= LS(5040);
      ListView.PopupMenu.Items.Add(MenuItem);
    end;
  end;
end; { SetExportPopMenu }
Heiko
Heiko
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Popup-Menu dynamisch an ListView's, ListView erkennen ?

  Alt 28. Jul 2009, 21:25
Hallo,

hat sich erledigt,
siehe hier

http://www.delphipraxis.net/internal...t.php?t=162123


Heiko
Heiko
  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 08:16 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