MFC应用实例:[50]获取文件的图标

 时间:2026-02-14 22:52:15

1、新建一个基于对话框的应用程序,工程名为GetFileIcon。

MFC应用实例:[50]获取文件的图标

2、如下图为对话框添加三个按钮,一个编辑框,一个静态文本。

MFC应用实例:[50]获取文件的图标

3、为“打开”按钮建立响应函数OnOpen(),在响应函数OnOpen()中添加一下代码:

void CGetFileIconDlg::OnOpen() 

{

// TODO:  在此添加控件通知处理程序代码

CString strFilter="All Files(*.*)|*.*||";

CFileDialog dlg(TRUE, NULL, NULL, OFN_EXPLORER|OFN_HIDEREADONLY|

OFN_ENABLESIZING|OFN_FILEMUSTEXIST,strFilter);

if(dlg.DoModal() == IDOK )//显示打开文件对话框

{

m_filename=dlg.GetPathName();

}

UpdateData(false);

}

MFC应用实例:[50]获取文件的图标

4、为获取图标按钮建立响应函数OnGeticon(),在响应函数OnGeticon()中添加一下代码:

void CGetFileIconDlg::OnGeticon() 

{

// TODO:  在此添加控件通知处理程序代码

UpdateData(true);

SHFILEINFO    shfi; //文件信息结构变量用于存放函数调用的结果

memset(&shfi,0,sizeof(shfi));

SHGetFileInfo(m_filename, FILE_ATTRIBUTE_NORMAL, &shfi, sizeof(SHFILEINFO),SHGFI_ICON);

CStatic *pStatic=(CStatic *)GetDlgItem(IDC_STATIC1);

//设置静态控件的样式,使其可以使用图标,并试图标显示使居中

pStatic->ModifyStyle(0xF,SS_ICON|SS_CENTERIMAGE);

//设置静态控件图标

pStatic->SetIcon(shfi.hIcon);

}

MFC应用实例:[50]获取文件的图标

5、程序运行如下:

MFC应用实例:[50]获取文件的图标

6、打开桌面的新建文本文件.txt程序运行如下:

MFC应用实例:[50]获取文件的图标

  • VS C/C++ 学习 win32控制台程序一闪而过
  • 如何使用Powershell查看所有用户组
  • Win Server 2012添加用户并设置远程登录
  • C# 如何使用timeSetEvent函数
  • 如何在zabbix查看主机的CPU system time?
  • 热门搜索
    童叟无欺是什么意思 裸车是什么意思 gap什么意思 tomato是什么意思 2017年是什么命 什么是佛 电子稿是什么 总体国家安全观以什么为根本 thd是什么意思 纤维素是什么