Registriert seit: 2. Mär 2004
5.508 Beiträge
Delphi 5 Professional
|
Re: Zwei PopUp's zusammenführen?
27. Feb 2008, 18:16
Delphi-Quellcode:
procedure CloneMenuItem(source, dest : TMenuItem);
begin
dest.Action := source.Action;
dest.Caption := source.Caption;
dest.ShortCut := source.ShortCut;
dest.Checked := source.Checked;
dest.Enabled := source.Enabled;
dest.Visible := source.Visible;
dest.OnClick := source.OnClick;
dest.HelpContext := source.HelpContext;
dest.Hint := source.Hint;
dest.RadioItem := source.RadioItem;
end;
procedure CopyMenuItems(source, dest : TMenuItem);
var
i : Integer;
mi : TMenuItem;
begin
Assert(Assigned(source), 'no source menu item');
Assert(Assigned(dest), 'no destination menu item');
// dest.Clear; // auskommentiert, da MenuItems im Ziel erhalten bleiben sollen
for i :=0 to source.Count-1 do
begin
mi := TMenuItem.Create(dest);
CloneMenuItem(source.Items[i], mi);
dest.Add(mi);
if source.Items[i].Count > 0 then
CopyMenuItems(source.Items[i], mi); // rekursiver Aufruf ;-)
end;
end;
Der Aufruf wäre dann:
CopyMenuItems(Komponente.PopupMenue.Items, PopupMenue1); // oder anderstrum, je nachdem, was dann das aktive PU-Menue sein soll
Andreas
|
|
Zitat
|