使用ApplicationEvents控件,在OnMessage事件写:procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean); begin with TreeView1 do begin if (Msg.hwnd = Handle) and (Msg.message = WM_LBUTTONUP) then begin if (Selected.Expanded) then Selected.Collapse(True) else Selected.Expand(True) end else if (Msg.hwnd = Handle) and (Msg.message = WM_LBUTTONDBLCLK) then begin Handled := True; //添加双击代码 end; end; end;
你可以这样试试.在单击事件中:
原有的双击事件 : treeview1.ondbclick:=nil;
然后再执行现有的事件:
var Handled: Boolean);
begin
with TreeView1 do
begin
if (Msg.hwnd = Handle) and (Msg.message = WM_LBUTTONUP) then
begin
if (Selected.Expanded) then
Selected.Collapse(True)
else
Selected.Expand(True)
end else
if (Msg.hwnd = Handle) and (Msg.message = WM_LBUTTONDBLCLK) then
begin
Handled := True;
//添加双击代码
end;
end;
end;