使用VC取得文件关联图标的方法

简介: 一个简单的学习加强实例,用VC取得文件的关联图标,看下面的代码一起来学习下! CFileDialog fileDialog( TRUE,"*.*",NULL,NULL,NULL); if (fileDialog.

一个简单的学习加强实例,用VC取得文件的关联图标,看下面的代码一起来学习下!

CFileDialog fileDialog( TRUE,"*.*",NULL,NULL,NULL);
if (fileDialog.DoModal() != IDOK) return;
CString str= fileDialog.GetFileExt();
str="."+str;
SHFILEINFO sfi;

SHGetFileInfo(str,0,&sfi,sizeof(sfi),SHGFI_ICON|SHGFI_LARGEICON|SHGFI_USEFILEATTRIBUTES);

int i=sfi.iIcon;
CStatic* pStatic = (CStatic*) GetDlgItem(IDC_STATIC);
HICON hIcon=sfi.hIcon;
pStatic->SetIcon (hIcon);
上面的IDC_STATIC是一个静态控件。
记得用下面的函数释放用SHGetFileInfo获取的icon句柄
If SHGetFileInfo returns an icon handle in the hIcon member of the SHFILEINFO structure pointed to by psfi, you are responsible for freeing it with DestroyIcon when you no longer need it.
BOOL DestroyIcon( HICON hIcon);


目录
相关文章
|
10月前
win11固定在任务栏的应用该文件没有与之关联的应用来执行该操作
win11固定在任务栏的应用该文件没有与之关联的应用来执行该操作
1087 0
|
C++
VS2012 VC新建一个空白窗口应用
VS2012 VC新建一个空白窗口应用
57 0
VS2012 VC新建一个空白窗口应用
Qt-修改界面无效的可能情况
Qt修改界面无效的可能情况
318 0
Qt-第一个QML程序-3-自定义一个按钮
项目基本信息前两个已经说了,这里直接放下运行截图,
156 0
Qt-第一个QML程序-3-自定义一个按钮
vs2010工程的图标关联
vs2010工程的图标关联
112 0
在Dll中创建对话框并调用
1、第一步创建一“MFC AppWizard (dll)”工程,接下来选择“Regular Dll using shared MFC DLL”,点击“Finish”。 2、添加一对话框资源到工程中,从菜单中选择Insert->Resource,添加一“Dialog”选择“New”,至此对话框已添加到DLL工程中。
1144 0
|
区块链
MFC创建单文档工程(左上角名称前的mfc图标修改为其他需求图标)
资源视图——VT_Ards.rc——右键选择添加资源,选择menu,然后导入 (提前最好把ico图标放到工程文件下的res文件夹下) 图标属性ID为:IDR_MAINFRAME ...
1422 0
MFC更改菜单名称后进行编译还是原来的名称
问题: 用vc2010 随便弄一个有菜单的程序 然后使用资源管理器(在Menu那个树目录中)添加一个菜单,并加入对应的ID,编译运行,新添加的菜单正常显示 这个时候,我想更改一下新添加的菜单的名字 双击后打开属性,在cap...
1549 0

热门文章

最新文章