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