我想在双击treeview节点时,执行一些语句,我目前是写在dbclick事件里,然后里面用
if (UrlTreeView.GetNodeAt(mousex,mousey) <> nil) then
begin
......
end
但是我发现这样还是不精确,点的不是节点也执行,我只想在双击节点才运行,请问我该怎么写呢,谢谢
if (UrlTreeView.GetNodeAt(mousex,mousey) <> nil) then
begin
......
end
但是我发现这样还是不精确,点的不是节点也执行,我只想在双击节点才运行,请问我该怎么写呢,谢谢
解决方案 »
- IrisSkinner 1.0 这是什么皮肤?后缀是skn请教高手
- sql语句,怎样指定其中的第n条
- 高手过来,看日期转换问题,有时出错,有时正确
- 请问Win2k中“services.exe”进程是干什么用的,为什么我的系统一起动它就占用100%的CPU呀?弄的我其他的大点的程序一运行就死机?
- 如何在自己浏览器里面实现IE的Plugin的所有功能,比如金山词霸的"即点即译"
- 怎样给dbgrid的标题栏加上排序图标?
- 用Remote Data Module 的一点疑惑
- 〓 我〓要〓给〓分〓!〓为〓什〓么〓给〓不〓了〓!〓CSDN〓在〓干〓什〓么 〓!〓
- Delphi四则运算法怎么实现?
- 你是高手吗????我有一个非常紧急的问题,Delphi的高手请进
- 如何用把多个Gif文件合并成一个gif
- 软键盘制作
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls;type
TForm1 = class(TForm)
TreeView1: TTreeView;
procedure FormCreate(Sender: TObject);
procedure TreeView1DblClick(Sender: TObject);
procedure TreeView1Click(Sender: TObject);
private
{ Private declarations }
Flag: Boolean; //变量
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
tn: TTreeNode;
begin
//建临时节点
for i := 0 to 9 do
begin
tn := TreeView1.Items.AddChild(nil, 'treenode' + IntToStr(i));
TreeView1.Items.AddChild(tn, IntToStr(i));
end;
end;procedure TForm1.TreeView1Click(Sender: TObject);
begin
if TreeView1.Selected.Expanded then //设置标志
Flag := False
else
Flag := True;
end;procedure TForm1.TreeView1DblClick(Sender: TObject);
begin
if (TreeView1.Selected.Expanded and Flag)
or (not TreeView1.Selected.Expanded) and (not Flag) then //判断是否双击了节点
showmessage(TreeView1.Selected.Text); //执行你需要的代码
end;end.你新建个Application试试吧