2016 - 2024

感恩一路有你

如何在MFC应用程序中获取文件的图标

浏览量:2137 时间:2024-03-21 22:52:49 作者:采采

创建基于对话框的MFC应用程序

要在MFC应用程序中获取文件的图标,首先需要创建一个基于对话框的应用程序。我们以一个名为GetFileIcon的工程为例来演示。

设计对话框界面

在对话框中添加三个按钮、一个编辑框和一个静态文本,其中“打开”按钮将用于选择文件,“获取图标”按钮将用于获取选定文件的图标。

实现“打开”按钮响应函数

为“打开”按钮建立响应函数OnOpen(),在该函数中添加代码来实现选择文件并将文件路径存储起来。

```cpp

void CGetFileIconDlg::OnOpen()

{

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

CFileDialog dlg(TRUE, NULL, NULL, OFN_EXPLORER | OFN_HIDEREADONLY | OFN_ENABLESIZING | OFN_FILEMUSTEXIST, strFilter);

if (() IDOK)

{

m_filename ();

}

UpdateData(false);

}

```

实现“获取图标”按钮响应函数

为“获取图标”按钮建立响应函数OnGeticon(),在该函数中添加代码来获取选定文件的图标并显示在静态控件上。

```cpp

void CGetFileIconDlg::OnGeticon()

{

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应用程序中轻松获取指定文件的图标,并实现简单而实用的功能。

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。