如何让treeview单击加减号空白处不触发事件?

lantianhf10 2012-01-28 11:15:22
+主窗体
-子窗体
子窗体1
子窗体2
当Treeview1单击子窗体1节点显示出子窗体1窗口后,再关闭这个窗体,点加减号或Treeview1的空白处还是弹出那个窗体,如何屏蔽,当点+-号时不弹出窗体,点空白处也是
...全文
220 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
busterchen 2012-02-13
  • 打赏
  • 举报
回复
procedure TFormMain.treeview1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
node:TTreeNode;
begin
Node:=treeview1.GetNodeAt(x,y);
if node<>nil then //判断是否选中内容
Node.Selected:=True;
end;
kaikai_kk 2012-01-30
  • 打赏
  • 举报
回复
有加减号的节点,应该不是显示窗体吧,所以可以判断此节点有没有子节点即可

TreeView的MouseDown事件:

var
t:TTreeNode;
begin
t:=TreeView1.GetNodeAt(x,y);
if (t<>nil) and (not t.HasChildren) then
...弹出窗体吧
end;
lvsongbo 2012-01-29
  • 打赏
  • 举报
回复
没太明白你的意思,这个可能是你要的

procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
node: TTreeNode;
begin
if (Button = mbLeft) and (htOnItem in Treeview1.GetHitTestInfoAt( X, Y)) then
begin
node := TreeView1.GetNodeAt(X, Y);
if (node.Text = '子窗体1') then
childform1.show;
end;
end;
代码跳动 2012-01-28
  • 打赏
  • 举报
回复
判断 点击选中的内容 。 单击子窗体1节点 听不甚明白

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧