1、提取鼠标位置并转化为listview的相对位置
2、提取listview的HitTest值
3、根据HitTest值判断是否需要item
4、根据相对坐标取得item并作出正确反映

解决方案 »

  1.   

    Lisitview有个selected的属性,表示被选中的item
      

  2.   

    if TListView(Sender).Selected = nil then exit;
    //TListView(Sender).Selected    既是你要的item,
    //加入你的代码
      

  3.   

    在TListView的双击事件中:
    判断所选Item: TListView名.Selected 的值
      
      

  4.   

    procedure TForm1.ListView1DblClick(Sender: TObject);
    begin
      showmessage(ListView1.Items[ListView1.selected.Index].Caption)
    end;
      

  5.   

    procedure TForm1.ListView1DblClick(Sender: TObject);
    begin
      showmessage(ListView1.Items[ListView1.selected.Index].Caption)
    end;
      

  6.   

    在显示方式不同的情况下,LV对鼠标单击的处理不一样,直接影响到双击时LV的状态(包括selected),使用selected比较简单,但不经检测,就不能保证准确