|
发表于 2014-11-13 17:30:15
|
显示全部楼层
类似资源管理器可以参考下面的源码
http://bbs.aardio.com/forum.php?mod=viewthread&tid=11160
listview添加图标很简单,首先获取系统图像列表并绑定到listview控件,代码如下://获取系统图标列表
import win.imageList;
shImageList = win.imageList.shell( 1/*_SHIL_SMALL*/ )
winform.listview.setImageList( shImageList,0/*_LVSIL_NORMAL*/ ) 然后获取指定文件在系统图像列表中的索引,并添加到listview中就行了,例如://获取文件图标索引
import fsys.info;
var filename = io._exepath; //要显示图标的文件路径
var sfi = fsys.info.get(filename, 0x4000/*_SHGFI_SYSICONINDEX*/ | 0x200/*_SHGFI_DISPLAYNAME*/)
//显示图标
winform.listview.addItem( {
text = sfi.szDisplayName;
iImage = sfi.iIcon;
} )
下面是完整版示例:
- import win.ui;
- /*DSG{{*/
- var winform = ..win.form(text="listview显示图标";right=349;bottom=249)
- winform.add(
- listview={cls="listview";left=9;top=11;right=338;bottom=237;edge=1;mode="icon";z=1}
- )
- /*}}*/
- //获取系统图标列表
- import win.imageList;
- shImageList = win.imageList.shell( 0/*_SHIL_LARGE*/ )
- winform.listview.setImageList( shImageList,0/*_LVSIL_NORMAL*/ )
- //获取文件图标索引
- import fsys.info;
- var filename = io._exepath; //要显示图标的文件路径
- var sfi = fsys.info.get(filename, 0x4000/*_SHGFI_SYSICONINDEX*/ | 0x200/*_SHGFI_DISPLAYNAME*/)
- //显示图标
- winform.listview.addItem( {
- text = sfi.szDisplayName;
- iImage = sfi.iIcon;
- } )
- winform.show();
- win.loopMessage();
复制代码 |
|