难题求助:如何在LISTVIEW里插入图片显示?(50分)

  • 主题发起人 主题发起人 wei0916
  • 开始时间 开始时间
W

wei0916

Unregistered / Unconfirmed
GUEST, unregistred user!
有一个LISTVIEW控件,我现在想在其每一行插入一个BMP或者JPG图片显示,不知哪位高手有没有办法.请指点一下呀.
 
ListView.ImageList
 
不是这样的呀.是想用代码插入呀.而且想在随意的列插入一个BMP或者JPG.有没有办法呀
 
listview1.Canvas.Draw(1,2,Image1.Picture.Graphic);
 
这种方法是在LISTVIEW后面插入一个BMP,不是想要的功能呀.现在是想一行插入一个BMP.比如有十行,就插入十个BMP.
 
procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
DefaultDraw:=false;
listview1.Canvas.Draw(item.Left,item.Top,Image1.Picture.Graphic);
listview1.Canvas.TextOut(item.Left+Image1.Width+2,item.Top,Item.Caption);
//listview1.Canvas.TextOut(item.+Image1.Width+2,item.Top,Item.Caption);
//listview1.Canvas.TextOut(item.Left+Image1.Width+2,item.Top,Item.Caption);
//DefaultDraw:=true;
end;
 
procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
DefaultDraw:=false;
listview1.Canvas.Draw(item.Left,item.Top,Image1.Picture.Graphic);
listview1.Canvas.TextOut(item.Left+2,item.Top,Item.Caption);
listview1.Canvas.TextOut(item.Left+ listview1.Columns[0].Width
,item.Top
,Item.SubItems[0]);
listview1.Canvas.TextOut(item.Left+ listview1.Columns[0].Width+listview1.Columns[1].Width
,item.Top
,Item.SubItems[1]);
//DefaultDraw:=true;
end;
 
listview1.Canvas.Brush.Style:=bsClear;//字体透明
 
还是无法解决,我也查询了相关的帖子,好像没有我的答案呀.主要是无法获取LISTVIEW里一行的高度.如果能动态直接往ITEM里加入图片就好了.
 
帮帮我呀.没有办法了吗.
 

Similar threads

S
回复
0
查看
855
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
S
回复
0
查看
783
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部