delphi - 仅当单击 TreeView 节点时才执行事件

标签 delphi treeview

我(更多时间)尝试在单击 TreeView 的项目时执行操作,请参阅:

procedure TForm1.TreeView1Click(Sender: TObject);
begin

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

end;

如果用户单击 TreeView 的索引 1,此代码将显示一条消息,问题如下:如果用户选择索引 1,将显示该消息,但是之后,用户单击 TreeView 的空白区域listview 消息仍会执行,因为该项目仍处于选中状态。如何使事件仅在用户单击相应项目时运行?

最佳答案

不要使用OnClick,只要单击TTreeView(不仅仅是单击节点时)就会发生这种情况。相反,请使用TTreeView.OnChange事件,它向您传递节点:

procedure TForm3.TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
  if Assigned(Node) then
    if Node.AbsoluteIndex = 1 then
      ShowMessage('selecionado');
end;

关于delphi - 仅当单击 TreeView 节点时才执行事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16754561/

相关文章:

delphi - 在 RemObjects Pascal Script (Delphi) 中加载预编译脚本

Delphi & 单元测试 : Include tested source in project, 或者只是使用它?

delphi - 如何通过单击空白背景来选择任何内容?

.Net Treeview 事件处理

c# - 将子节点添加到节点列表

c# - TreeView_NodeMouseClick 处理程序

Delphi - 清除所有TEdit的命令

multithreading - 尝试通过 tcp/ip 发送文件时表单卡住,Delphi 2010

java - 简单的 Javafx TreeView 抛出空指针异常

vue.js - 在 vuetify 中将 v-tooltip 添加到 v-treeview