TListView继承自TCustomListView,下面是TCustomListView的DrawItem方法,它其实就是
画了个区域,然后在这个区域里把文字显示出来,你在这个区域外面再画个边框不就行了。
可以用Lineto函数画几条线,只不过把颜色调一下,看起来有阴影就可以了
procedure TCustomListView.DrawItem(Item: TListItem; Rect: TRect;
State: TOwnerDrawState);
begin
TControlCanvas(FCanvas).UpdateTextFlags;
if Assigned(FOnDrawItem) then FOnDrawItem(Self, Item, Rect, State)
else
begin
FCanvas.FillRect(Rect);//这是DELPHI自己画区域
FCanvas.TextOut(Rect.Left + 2, Rect.Top, Item.Caption);//这是DELPHI自己输出文字
//下面是你自己要加的
//**************************************************
//在这里画框,象下面这样
Fcanvas.Brush.Color := clGray;//设置画刷颜色
Fcanvas.lineto(Rect.Left-2,Rect.Right+2) //画线,四周都画线,
//用几条线组成框就可以了。
//**************************************************
end;
end;