Hallo,
ich erstelle aus einem Treeview ein PopUpMenÜ:
Delphi-Quellcode:
if not Assigned(Node) then
begin
Temp := AdvTreeComboBox1.Treeview.Items[0];
while Assigned(Temp) do
begin
Item := TMenuItem.Create(Self);
Item.Caption := Temp.Text;
Item.OnClick := MenuItemClick;
PopupMenu1.Items.Add(Item);
if Temp.Count > 0 then AddMenu(Temp, Item);
Temp := Temp.GetNextSibling;
end;
end
else
begin
Temp := Node.GetFirstChild;
while Assigned(Temp) do
begin
Item := TMenuItem.Create(Self);
Item.Caption := Temp.Text;
Item.OnClick := MenuItemClick;
Menu.Add(Item);
if Temp.Count > 0 then AddMenu(Temp, Item);
Temp := Temp.GetNextSibling;
end;
end;
und:
procedure TForm1.MenuItemClick(sender : TObject);
var
s : string;
begin
with Sender as TMenuItem do
begin
s := caption;
end;
ShowMessage(s);
end;
Leider klappt das OnClick-Ereignis im Menü nicht so wie es soll. Schon im der oberen Ebene
wird die Mesage beim MouseOver angezeigt?!?
Viele Grüße...