GridEdit是一个Edit控件,我的目的是当用户选择一行的时候,Subitem的地方出现一个edit编辑框,用来实现子条目编辑。procedure TFbasic_setup.ListView1DrawItem(Sender: TCustomListView;
  Item: TListItem; Rect: TRect; State: TOwnerDrawState);
begin
  if (odSelected  in State) then
  begin
    GridEdit.Left:=rect.Left + ListView1.Left;
    GridEdit.Top:=Rect.Top + ListView1.Top;
    GridEdit.Width:=Rect.Right-Rect.Left;
    GridEdit.Height:=Rect.Bottom-Rect.Top;
    GridEdit.Visible:=true;
  end;
end;这样的结果是edit框出来了,但是占据了整行,我只要从subitem的left到这个subitem的末尾即可。
而且,原来listview列表里的数据怎么都看不见了?是不是因为onOwnDraw属性打开了?大家拷贝代码到机子上看一下,谢谢。