国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

如何在MFC應用程序中獲取文件的圖標

創(chuàng)建基于對話框的MFC應用程序要在MFC應用程序中獲取文件的圖標,首先需要創(chuàng)建一個基于對話框的應用程序。我們以一個名為GetFileIcon的工程為例來演示。 設計對話框界面在對話框中添加三個按鈕、

創(chuàng)建基于對話框的MFC應用程序

要在MFC應用程序中獲取文件的圖標,首先需要創(chuàng)建一個基于對話框的應用程序。我們以一個名為GetFileIcon的工程為例來演示。

設計對話框界面

在對話框中添加三個按鈕、一個編輯框和一個靜態(tài)文本,其中“打開”按鈕將用于選擇文件,“獲取圖標”按鈕將用于獲取選定文件的圖標。

實現(xiàn)“打開”按鈕響應函數(shù)

為“打開”按鈕建立響應函數(shù)OnOpen(),在該函數(shù)中添加代碼來實現(xiàn)選擇文件并將文件路徑存儲起來。

```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);

}

```

實現(xiàn)“獲取圖標”按鈕響應函數(shù)

為“獲取圖標”按鈕建立響應函數(shù)OnGeticon(),在該函數(shù)中添加代碼來獲取選定文件的圖標并顯示在靜態(tài)控件上。

```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);

}

```

運行程序并測試

運行程序后,點擊“打開”按鈕選擇一個文件,然后點擊“獲取圖標”按鈕,就可以看到所選文件的圖標顯示在靜態(tài)控件中。

通過以上步驟,您可以在MFC應用程序中輕松獲取指定文件的圖標,并實現(xiàn)簡單而實用的功能。

標簽: