Delphi的ListView可否对每一个Item进行自由设置Image

Delphi的ListView可否对每一个Item进行自由设置Image,第1张

ListView的每一个Item的类型是TListItem,这个类型带有句柄属性
建议你使用GetDC函数来获取每个Item的作图区,然后使用Canvas对象在目标上作图:关键代码如下:
const
PicFullName: String = 'C:\Startbmp';
procedure TForm1FormCreate(Sender: TObject);
begin
SelflvTstLargeImages := TImageListCreate(Application);
//设置ListView的LargetImage值,不使用用来装载,只是在vsIcon
//显示方式中给空位用
//依此类推:vsList显示模式显示Item就实例化一个SmallImages
end;
procedure TForm1BtnSetPicClick(Sender: TObject);//点击此按钮为当前被选中的Item设置
var
C: PChar;
Item: TListItem;
begin
if SelflvTstSelected = nil then Exit;
Item := SelflvTstSelected;
New(C);
GetMem(C,255);
StrPCopy(C,PicFullName);
if ItemData <> nil then
Dispose(ItemData);
ItemData := C;//在Item中的Data属性是一个指针,让它保存的路径
SelflvTstInvalidate;
end;
procedure TForm1FormClose(Sender: TObject; var Action: TCloseAction);
var
I: Integer;
begin
for I := 0 to SelflvTstItemsCount - 1 do
if SelflvTstItems[I]Data <> nil then
Dispose(SelflvTstItems[I]Data);//释放每一个指针
end;
procedure TForm1lvTstCustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);//在ListView的OnCustomDraw事件中加入图形持久化代码
var
X,Y: Integer;
Cvs: TCanvas;
Bmp: TBitMap;
begin
Cvs := TCanvasCreate;
Bmp := TBitMapCreate;
if ItemData <> nil then
begin
CvsHandle := GetDC(ItemHandle);
BmpLoadFromFile(PChar(ItemData));
X := ItemPositionX;
Y := ItemPositionY;
CvsDraw(X,Y,BMP);//开始作图
end;
CvsFree;
BmpFree;
end;
end

欢迎分享,转载请注明来源:品搜搜测评网

原文地址:https://pinsoso.cn/meirong/1722671.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-10-13
下一篇2023-10-13

随机推荐

  • sk2精华露使用顺序

    第1个步骤就是先进行面部的清洁,清洁完了之后需要在脸上拍一点爽肤水,接着需进一步的修复,用旗下的补水保湿修复精华露来进行修复,那这款精华露当中所含有的pitera乃是神仙水的整整4倍,所以能达到强效保湿补水的效果,绝对是干皮的救星。在这个步

    2024-04-15
    45900
  • olay祛斑精华液使用步骤,olay精华

    很多女性朋友都钟爱olay,olay旗下有多款护肤品,其中精华是很受欢迎的,其中祛斑精华液是明星产品,也受到女性朋友的一致好评,也是很多人一直回购的精华。olay祛斑精华液使用的时候是有注意事项的,比如使用步骤。有部分朋友是第一次使用ola

    2024-04-15
    47200
  • 雅漾保湿乳和精华乳哪个先用

    雅漾保湿乳和精华乳哪个先用?这是很多人都会面临的疑问。你可能也在为此而烦恼。现在,让我来回答这个问题吧!我们需要明确一点,无论是保湿乳还是精华乳,它们都是护肤品中的“好帮手”。保湿乳的主要功能是为肌肤提供水分,保持水润嫩滑;而精华乳则注重于

    2024-04-15
    44200
  • 求推荐一款比较适合日常通勤的spf30左右防晒霜,最好是洗面奶可以洗干净的?

    防晒霜的SPF值并不是越高越好,如果只是日常通勤,其实SPF30就足够了。作为一个早八人,忙碌了一天回到家真的不想再花时间专门去卸防晒霜!为此给大家分享一波我在用的防晒霜,只用洗面奶就能洗干净,轻松省事又可以防晒,快来get~1、适乐肤无油

    2024-04-15
    38200
  • 精华露和精华液有什么不同

    精华露和精华液都是比较常用的护肤品,那你知道精华露和精华液的区别是什么吗?它们是否就是同一种护肤品呢?下面就一起来看看精华露和精华液有什么不同吧!1、质地不同:精华露质地厚重、粘稠,属于高浓缩产品。而精华液相比之下要更轻薄、流动性更强一些。

    2024-04-15
    22800
  • 韩国护肤品十大排名品牌

    韩国十大品牌护肤品如下:1、whoo后在韩国十大护肤品品牌中,whoo荣登榜首,这个品牌将宫廷的美容秘笈与现代的东方医学相互结合,让广大的亚洲女性为之倾心。2、呼吸37度在韩国十大护肤品品牌中,起着重要的地位,它一直坚持自然美丽的概念,致力

    2024-04-15
    40700
  • 妮维雅在中国有多少家工厂

    妮维雅在中国有53家工厂。总部位于德国汉堡的bdf公司在全世界拥有79家分公司及53家授权制造公司。业务遍布欧洲,美洲及亚洲地区,员工近2万人。nivea是美国商业周刊评选的全球最具有商业价值的100个品牌之一,也是ac尼尔森市调公司评选的

    2024-04-15
    38400

发表评论

登录后才能评论
保存