一个listview的高难度问题,请高手帮忙!(40分)

  • 主题发起人 主题发起人 yhl1118
  • 开始时间 开始时间
Y

yhl1118

Unregistered / Unconfirmed
GUEST, unregistred user!
如何使listview的某一列中的文字,按不同的字体显示。
如:abcdef,前3个字符显示粗体,后3个字体按正常显示。
 
在CustomDraw里面想怎么draw就怎么draw
 
我想应该在那里画,但实在不知道在那里怎么画,请帮忙指点一下
 
listview.canvas.font.style:=......
listview.canvas.TextOut(rect.left,rect.top,'abc');
listview.canvas.font.style:=......
listview.canvas.TextOut(rect.left+...,rect.top,'def');
 
多谢jsxjd
请问在哪个事件中画,我在OnCustomDrawSubItem()中画了:
procedure TMymain.MyListCustomDrawSubItem(
Sender: TCustomListView; Item: TListItem; SubItem: Integer;
State: TCustomDrawState; var DefaultDraw: Boolean);
begin
if SubItem = 0 then
begin
with MyList.Canvas do
begin
Font.style:=[fsBold];
TextOut(Rect.Left, Rect.top, copy(Item.SubItems[0], 1, 2));
font.style:=[];
TextOut(Rect.left+3,Rect.top,copy(Item.SubItems[0], 3, length(Item.SubItems[0]) - 2));
end;
end;
end;
编译时总说Rect.地方没有足够的参数(Not enough actual parameters)
可是我看了帮助,就是这3个参数啊,我哪里错了,请帮忙,谢谢!
 
同意楼上
 
莫名其妙!你的代码里的Rect是哪来的? 这么明显的问题居然还要问
 

Similar threads

回复
0
查看
1K
不得闲
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部