delphi – 仅在单击树视图节点时执行事件

前端之家收集整理的这篇文章主要介绍了delphi – 仅在单击树视图节点时执行事件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我,(更多时间),当我点击树视图的项目时尝试执行操作,请参阅:
procedure TForm1.TreeView1Click(Sender: TObject);
begin

  if treeview1.Selected.AbsoluteIndex=1 then
  begin
    showmessage('selecionado');
  end; 

end;

如果用户单击树视图的索引1,此代码显示一条消息,问题如下:如果用户选择索引1,将显示该消息,但在此之后,用户单击列表视图的空白区域消息仍然执行,因为该项仍然被选中.如何仅在用户单击相应项目时才能运行事件?

解决方法

不要使用OnClick,只要单击TTreeView(不仅在单击节点时),就会出现OnClick.而是使用 TTreeView.OnChange事件,它将通过您的节点:
procedure TForm3.TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
  if Assigned(Node) then
    if Node.AbsoluteIndex = 1 then
      ShowMessage('selecionado');
end;

猜你在找的Delphi相关文章