在 OnMouseUp 事件中可获得双击 listitem 事件。
 判断双击的位置(在图标上? 在标签上?在空白区?.....),
 Listview1.GetHitTestInfoAt(x,y); 
 若双击在项目范围内(通过上面的方法判断),获得双击的项目;
 listview1.GetItemAt(x,y);
 形参 Shift=ssDouble 判断是否双击。 

解决方案 »

  1.   

    Apollo47(阿波罗)>>>>>>>你能详细说一下“在 OnMouseUp 事件中可获得双击 listitem 事件。
    判断双击的位置(在图标上? 在标签上?在空白区?.....)“这一段吗????
      

  2.   

    以下是Delphi 帮助,Treeview.GetHitTestInfoAt()的用法,他和Listview.GetHitTextInfoAt()用法一样。
    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;