listView中如何知道我点中那一列?如何取得点中单元的内容?
看了下帮助, listView report 风格中,并没能找到像DBGrid那样能轻易
知道当前选中了那一行那一列的功能。无法, 只好企图利用MouseDown事件来取得
列如, 再与DBClick结合来达到要求。 可是MouseDown事件有个问题, 就是当列数
较多而出现滚动条时, 我得到的列号就是错误的了。
我想实现的功能是,双击单元格, 便能知道当前选中的单元格内容,知道选中那第几列? 
请各位大大帮个忙,无论用什么方法,帮小弟实现功能好吗?
感激不尽, 高分相送
 
以下是我利用MouseDown得到列数的代码:procedure TMainForm.ListView1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
  intTotal:integer;
  intI:integer;
begin
   intTotal:=0;
    for intI:=0 to ListView1.Columns.count-1 do begin
        intTotal:=intTotal+ListView1.Columns.Items[intI].Width;
        if x<intTotal then begin
           intCoumn:=IntI;  //得到列号
           //break;
           exit;
        end;
    end;end;
procedure TMainForm.ListView1DblClick(Sender: TObject);
var
  intRow:integer;
begin
   intRow:=TreeView1.Selected.index; //得到行号
//intCoumn 是全局变量  于是也知道了列号
TreeView1.Items.Item[intRow].SubItems[intCoumn-1]; 
    //得到选中的单元内容
   
end;

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);var InsertItem : TListItem;
    begin
      with ListView1 do
        InsertItem := Items.Insert(Selected.Index);
      InsertItem.Caption := 'InsertedItem';end;
      

  2.   

    例如: listview1.Items[listview1.ItemIndex].Caption 就可以返回当前选中的单元的caption 上的文本信息,你可以试一下,呀别忘了付分!