我调用此函数获得系统图标,显示在ClistCtrl里,第一次是正常的。但是第二次调用会失败。有大神能解决吗。
膜拜大神,感激不尽啊。
代码如下。 HIMAGELIST hSystemSmallImageList;
SHFILEINFO ssfi; //CoInitialize
hSystemSmallImageList = (HIMAGELIST)SHGetFileInfo( strTemp, 0, &ssfi, sizeof(SHFILEINFO), SHGFI_SYSICONINDEX | SHGFI_SMALLICON | LVS_SHAREIMAGELISTS);
m_ImageList.Attach( hSystemSmallImageList );
m_ImageList是 CImageList类型的
膜拜大神,感激不尽啊。
代码如下。 HIMAGELIST hSystemSmallImageList;
SHFILEINFO ssfi; //CoInitialize
hSystemSmallImageList = (HIMAGELIST)SHGetFileInfo( strTemp, 0, &ssfi, sizeof(SHFILEINFO), SHGFI_SYSICONINDEX | SHGFI_SMALLICON | LVS_SHAREIMAGELISTS);
m_ImageList.Attach( hSystemSmallImageList );
m_ImageList是 CImageList类型的
解决方案 »
- internetsession类连接代码异常怎么会被触发?
- 如何让继承自CEdit类的派生类捕捉本本信息
- vc上新建一个对话框类,如何把该基类设为自定义的类,而不是系统的类?急
- 求函数.. CString
- 用VC开发数据库 采用1.ODBC 2.OLE DB 3.ADO 4.DAO 5.其她
- 关于WINDOWS挂钩
- CString a和CString &a LPCSTR b和LPCSTR* b他们的区别?
- 怎样在CFileDialog中返回子目录的名字啊?(分不多,不好意思拉)
- VS2005断点调试 从Exe进入dll
- 关于在利用dcom在远程运行程序的问题?
- C语言中溢出的有关问题
- OpenGL ES 纹理上画点
用完系统图标后调用下列语句:
m_ImageList.Detach();
我用图片框测试不关显示几次,都没问题.
代码如下:HIMAGELIST hSystemSmallImageList;
SHFILEINFO ssfi;
TCHAR strTemp[128];
CStatic *pImage;
//CoInitialize
hSystemSmallImageList = (HIMAGELIST)SHGetFileInfo( strTemp, 0, &ssfi, sizeof(SHFILEINFO), SHGFI_SYSICONINDEX | SHGFI_SMALLICON | LVS_SHAREIMAGELISTS); m_ImageList.Attach( hSystemSmallImageList );
pImage = (CStatic *)GetDlgItem(IDC_STATIC);pImage->SetIcon(m_ImageList.ExtractIcon(1));ImageList_Destroy(hSystemSmallImageList);m_ImageList.Detach();