我在这个事件里用TextRect DrawTextEx等函数重新调整Caption 的位置时速度会变的很慢!
特别是Item很多的时候,但是去掉这几个函数就一切正常?
我是我的代码:
procedure TGameMan.lsv1CustomDrawItem(Sender: TCustomListView;
  Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
var
  aRect,bRect:TRect;
begin
if Item.Index < 0 then Exit; 
DefaultDraw:=False;
aRect:=item.DisplayRect(drIcon);
ImageList_Draw(ImgPicList.Handle,item.ImageIndex,Sender.Canvas.Handle,aRect.Left+3,aRect.Top+2,0);
bRect.Left:=aRect.Left+6;
bRect.Top:=aRect.Bottom+1;
bRect.Right:=aRect.Left+80;
bRect.Bottom:=bRect.Top+13;
DrawText(Sender.Canvas.Handle,PChar(item.Caption),Length(item.Caption),bRect,DT_CENTER or DT_WORD_ELLIPSIS); 
end;//就是上边这些代码,我是想做一个类似于ACDSEE那样浏览的效果,可是每当用DrawText,TextRect等API改写Caption时项目一多浏览时就会很慢(item>500),
不知道这是怎么回事.我用的是D7(汉化版)+win2003.