以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]ListView控件小图标显示的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=162398)

--  作者:2425004926
--  发布时间:2021/4/13 14:25:00
--  [求助]ListView控件小图标显示的问题

显示文件夹下的图片文件,并给这些文件加一个小图标“phot.ico",为何标题显示没问题,这个小图标就是不显示?
        lvw.StopRedraw() \'暂停绘制
        lvw.Rows.Clear() \'清除原来的行
        lvw.Images.Clear() \'清除原来的图片
        lvw.View = ViewMode.SmallIcon \'显示模式为小图标
        lvw.Images.SmallSize = New Size(16,16) \'定义小图标尺寸
        Dim key As String = "phot"
        lvw.Images.AddSmallImage(key, key & ".ico") \'添加代表这个图片的大图标,第一个为键值,第二个为对应的照片
        For Each File As String In FileSys.GetFiles(ProjectPath & "Attachments\\" & f)
            If file IsNot Nothing Then
                Dim a As String = file   \'文件名
                Dim b As String = a.SubString(a.LastIndexOf("\\")+1)
                Dim r As  WinForm.ListViewRow =  lvw.Rows.Add() \'增加一行
                r.Text = b \'指定标题
                r.ImageKey = key \'设置图片键值
            End If
        Next
        lvw.ResumeRedraw() \'恢复绘制
--  作者:有点蓝
--  发布时间:2021/4/13 14:34:00
--  
图标文件有放在项目里的Images或Attachments子目录中吗
--  作者:2425004926
--  发布时间:2021/4/13 14:41:00
--  
 粗心了,放在另外一个文件的Images下面了,就说怎么不行,现在OK了,谢谢!

--  作者:riverzhang163
--  发布时间:2022/11/5 10:26:00
--  [求助] LISTVIEW 图片为什么不显示
我的图片放在项目Publish/project> Attachments里面,语句如下:

Dim lvw As WinForm.ListView = e.Sender
Dim
 dr As DataRow = DataTables("产品规格表").DataRows(e.Index) \'根据行位置从数据表中取得对应的DataRow
Dim
 Key As String = dr("前面版_图样")
lvw
.Images.AddImage(Key, Key & ".ico", Key & "48.ico"\'添加代表这个国家的图标
e
.Row.Imagekey = key \'指定图标键值
e
.Row.Tag = dr \'将DataRow赋值给ListViewRow的Tag属性,将二者联系起来
For
 Each cl As WinForm.ListViewColumn In lvw.Columns \'逐列取值
    
            e.Row(cl.Name) = dr(cl.Name)
Next

图片有JPEG格式,也有PNG格式

运行后一直显示不出图片 , 请老师帮忙,谢谢!

--  作者:有点蓝
--  发布时间:2022/11/5 10:34:00
--  
图片必须统一格式,统一是ico格式
--  作者:riverzhang163
--  发布时间:2022/11/5 10:51:00
--  
我的图片是在输入产品资料的时候直接输入的,按您的说法就是还要把产品图片另外再处理一遍转换成ICO格式呀,这是重复工作了,还有,普通的JPEG格式的图片要怎么转换成ICO格式?谢谢!
--  作者:有点蓝
--  发布时间:2022/11/5 11:03:00
--  
可以使用其它类型的图片,但是代码里要相应改改,最好是统一一下图片的格式,要么全部为jpg,要么全部为png。

lvw.Images.AddImage(Key, Key & ".jpg", Key & "48.jpg")

或者直接在"前面版_图样"列里存储完整的带扩展名的图片名称,比如:abc.jpg,然后代码

lvw.Images.AddImage(Key, Key, Key)



--  作者:riverzhang163
--  发布时间:2022/11/5 11:33:00
--  
成功了,谢谢老师!