I am tryinig to do context menu on TTreeView nodes, however, any time I set the visible property of a popup menu item to false and execute the application, it crash with the Division by Zero Error message.
I believe the error is generated by the event popup.
Somebody can help me???
Thanks,
procedure TForm1.TreeView1ContextPopup(Sender: TObject; MousePos: TPoint;
var Handled: Boolean);
var
ANode : TTreeNode;
i : integer;
p : TPoint;
begin
Handled := true;
ANode := TTreeview(sender).getNodeAt(MousePos.x,MousePos.y);
if assigned(ANode) then
begin
PopUpMenu1.Items.Items[0].Visible := True;
PopUpMenu1.Items[1].Visible := true;
if ANode.Text = 'Node1' then
begin
PopUpMenu1.Items.Items[0].Visible := True;
PopUpMenu1.Items[1].Visible := False;
end;
if ANode.Text = 'Node2' then
begin
PopUpMenu1.Items.Items[0].Visible := False;
PopUpMenu1.Items[1].Visible := True;
end;
if ANode.Text = 'Node3' then
begin
PopUpMenu1.Items.Items[0].Visible := True;
PopUpMenu1.Items[1].Visible := True;
end;
p := TTreeview(sender).ClientToScreen(MousePos);
popupmenu1.Popup(p.x,p.y);
end;
end;