各位朋友好!
我建立了一个基于CListView的单文档工程,其中CFileListView类就是基于CListView的视图类。
我在CFileListView定义了如下两个变量:
CImageList m_ctImageList;
CListCtrl* m_pListCtrl; //本视图对应的控件指针然后有如下代码,用于读取系统的文件图标(也就是对应的文件扩展名的图标),我用来在列表视图中显示文件,包括文件图标。
HIMAGELIST hImageList;
SHFILEINFO shFi;
hImageList=(HIMAGELIST)SHGetFileInfo("C:\\",0,&shFi,sizeof(shFi),
SHGFI_SYSICONINDEX|SHGFI_SMALLICON);
if(!hImageList)
return;
m_ctImageList.m_hImageList=hImageList;
m_pListCtrl->SetImageList(&m_list,LVSIL_SMALL);
程序运行没问题,也能得到系统图标,但问题是。如果我关闭我的程序,windows系统中的图标也没有了。再运行我的程序,也得不到图标了。而且其它的可以显示文件图标的软件(如:FlashFXP运行业看不到文件图标了),估计是windows系统图标被我程序给删除了。重启动windows,又好了。大家帮帮我的忙。谢谢了!
我建立了一个基于CListView的单文档工程,其中CFileListView类就是基于CListView的视图类。
我在CFileListView定义了如下两个变量:
CImageList m_ctImageList;
CListCtrl* m_pListCtrl; //本视图对应的控件指针然后有如下代码,用于读取系统的文件图标(也就是对应的文件扩展名的图标),我用来在列表视图中显示文件,包括文件图标。
HIMAGELIST hImageList;
SHFILEINFO shFi;
hImageList=(HIMAGELIST)SHGetFileInfo("C:\\",0,&shFi,sizeof(shFi),
SHGFI_SYSICONINDEX|SHGFI_SMALLICON);
if(!hImageList)
return;
m_ctImageList.m_hImageList=hImageList;
m_pListCtrl->SetImageList(&m_list,LVSIL_SMALL);
程序运行没问题,也能得到系统图标,但问题是。如果我关闭我的程序,windows系统中的图标也没有了。再运行我的程序,也得不到图标了。而且其它的可以显示文件图标的软件(如:FlashFXP运行业看不到文件图标了),估计是windows系统图标被我程序给删除了。重启动windows,又好了。大家帮帮我的忙。谢谢了!
解决方案 »
- VC基于对话框的程序的绘图程序
- 怎么样让一个控件或一个图片沿一定的路径移动?
- 像这样的程序会不会出现导常?
- 为什么这些代码在Release版和Debug版中输出的结果不一样?
- 请问有没有适合初学者的书
- 初学者的一个小问题!!!
- com中某个涵数使用了char* buffer=new char[size];语句出现错误.
- 初级问题:在LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)中的wParam和lParam是做什么用的??获得的
- 关于字库
- ?哥们,帮我,我在网络编程时用的是CAysncSocket,但我在是在一个单独的线程里用CAsyncSocket.Send()发送数据,我想使CAsyncSocket.Send()变成阻塞模式,怎么办?(ZhuX)
- 如何禁止一个程序的运行?
- 怎样将一个基于对话框的程序中的树结构序列化?在线等待
SHFILEINFO shFi;
hImageList=(HIMAGELIST)SHGetFileInfo("C:\\",0,&shFi,sizeof(shFi),
SHGFI_SYSICONINDEX|SHGFI_SMALLICON);
if(!hImageList)
return;
m_ctImageList.m_hImageList=hImageList;
m_pListCtrl->SetImageList(&m_ctImageList,LVSIL_SMALL);
BOOL DestroyIcon(HICON hIcon/* handle to icon*/)
释放这个资源!用一下这个函数就好了!