-
您现在的位置:网络学院 > 开发特区 > 开发语言 > VC/MFC
VC一点通:实现文件夹的缩略图显示

出处:PConline
责任编辑:ljx

[03-11-21 16:58] 作者:jiangsheng/CSDN
-
在列表需要显示一个项目之前,列表会发送LVN_GETDISPINFO通知,应用程序可以捕获这个消息来提供项目的显示信息。如果显示时需要显示的列表项在缓存中,那么可以从缓存中获取显示信息。否则需要重新从文件获得。

voidCPicViewView::OnGetdispinfo(NMHDR*pNMHDR,LRESULT*pResult)
{
LV_DISPINFO*pDispInfo=(LV_DISPINFO*)pNMHDR;
if(pDispInfo->item.iItem==-1)return;
HRESULThr=S_OK;
LPCITEMIDLISTpidlItem=m_arpFolderItems[pDispInfo->item.iItem];
CFolderItemInfo*pFolderItemInfo=FindItemInCache(pidlItem);
BOOLbCached=TRUE;
if(pFolderItemInfo==NULL){
bCached=FALSE;
pFolderItemInfo=newCFolderItemInfo;
GetItemInfo(pidlItem,pFolderItemInfo);
}
if(pDispInfo->item.mask&LVIF_TEXT){
lstrcpyn(pDispInfo->item.pszText,pFolderItemInfo->tszDisplayName,pDispInfo->item.cchTextMax);
}
if(pDispInfo->item.mask&LVIF_IMAGE){
pDispInfo->item.iImage=pFolderItemInfo->iIcon;
}
if(pDispInfo->item.mask&LVIF_STATE){
pDispInfo->item.state=pFolderItemInfo->state;
}
if(!bCached)
deletepFolderItemInfo;
*pResult=0;
}

文件图标的显示

默认情况下,列表项的图标就是其系统图标。首先获得系统图像列表

intCPicViewView::OnCreate(LPCREATESTRUCTlpCreateStruct)
{
if(CListView::OnCreate(lpCreateStruct)==-1)
return-1;
HRESULThr=SHGetMalloc(&m_pMalloc);if(FAILED(hr))return-1;
hr=SHGetDesktopFolder(&m_psfDesktop);if(FAILED(hr))return-1;
SHFILEINFOshfi;
ZeroMemory(&shfi,sizeof(SHFILEINFO));
HIMAGELISThi=(HIMAGELIST)SHGetFileInfo(NULL,0,&shfi,sizeof(SHFILEINFO),SHGFI_ICON|SHGFI_SYSICONINDEX|SHGFI_SMALLICON);
GetListCtrl().SetImageList(CImageList::FromHandle(hi),LVSIL_SMALL);
hi=(HIMAGELIST)SHGetFileInfo(NULL,0,&shfi,sizeof(SHFILEINFO),SHGFI_ICON|SHGFI_SYSICONINDEX|SHGFI_LARGEICON);
GetListCtrl().SetImageList(CImageList::FromHandle(hi),LVSIL_NORMAL);
return0;
}


  希望看到更多更经典的开发技巧,请随时刷新《开发特区》栏目。


察看评论详细内容 我要发表评论
作者笔名 简短内容 发表时间
:


ad
发给好友 投稿给我们 加入收藏 返回顶部

相关文章:
简单设置nView,边看DVD边冲浪
微软Virtual PC 2004投产并将低价入市
Virtual PC 2004将在90天内上市!
Virtual PC2004将不支持Linux
微软VirtualPC 2004新版令人失望
图像多功能一体机
VC++实现拨号上网程序详解
在VC中如何将数据导入Word中
VC编程实现IE风格的界面
微软将于年底发布Virtual PC 2004
IT培训十大热门文章

内容搜索 
高级搜索
本栏今日焦点