在 OnMouseUp 事件中可获得双击 listitem 事件。
判断双击的位置(在图标上? 在标签上?在空白区?.....),
Listview1.GetHitTestInfoAt(x,y);
若双击在项目范围内(通过上面的方法判断),获得双击的项目;
listview1.GetItemAt(x,y);
形参 Shift=ssDouble 判断是否双击。
判断双击的位置(在图标上? 在标签上?在空白区?.....),
Listview1.GetHitTestInfoAt(x,y);
若双击在项目范围内(通过上面的方法判断),获得双击的项目;
listview1.GetItemAt(x,y);
形参 Shift=ssDouble 判断是否双击。
判断双击的位置(在图标上? 在标签上?在空白区?.....)“这一段吗????
procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);var
MyHitTest : THitTests;
begin
MyHitTest := TreeView1.GetHitTestInfoAt(X,Y);
if htNowhere in MyHitTest then // 击在空白区
ListBox1.Items.Add('NoWhere');
if htOnItem in MyHitTest then // 击在项目上;
ListBox1.Items.Add('OnItem');
if htOnButton in MyHitTest then // 击在项目前的加号上;
ListBox1.Items.Add('OnButton');
if htOnIndent in MyHitTest then // 击在连线上;
ListBox1.Items.Add('OnIndent'); if htOnLabel in MyHitTest then // 击在项目标签上;
ListBox1.Items.Add('OnLabel');
if htOnRight in MyHitTest then // 击在项目右侧的空白区;
ListBox1.Items.Add('OnRight');
end;