首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> VC >> 關於VC++

VC++ 讓資料夾瀏覽對話框使用新版介面

     編輯:關於VC++

在 VC++ 開發中,資料夾瀏覽對話框是常見需求。早期版本(版本 5.0 之前,通常指 Windows 2000 前)若要在對話框加入「新增資料夾」按鈕,需自行撰寫大量程式碼。但在版本 5.0 之後,只需設定一個旗標 BIF_USENEWUI,即可獲得具備「新增資料夾」按鈕、右鍵選單等現代化功能的瀏覽介面,如上圖所示。

核心程式碼

void CTestBrowseDlg::OnBrowse()
{
    CString str;
    BROWSEINFO bi;
    char name[MAX_PATH];
    
    ZeroMemory(&bi, sizeof(BROWSEINFO));
    bi.hwndOwner = GetSafeHwnd();
    bi.pszDisplayName = name;
    bi.lpszTitle = "Select folder";
    bi.ulFlags = BIF_USENEWUI;  // 關鍵:啟用新版 UI
    
    LPITEMIDLIST idl = SHBrowseForFolder(&bi);
    if (idl == NULL) return;
    
    SHGetPathFromIDList(idl, str.GetBuffer(MAX_PATH));
    str.ReleaseBuffer();
    m_Path = str;
    if (str.GetAt(str.GetLength() - 1) != '\\')
        m_Path += "\\";
    UpdateData(FALSE);
}

說明

  • BIF_USENEWUI 旗標會啟用類似 Windows 2000/XP 風格的對話框,包含工具列、新增資料夾按鈕、右鍵內容選單等。
  • 本範例在 VC++ 7.0 + Windows XP 環境測試通過。
  • 附帶的示範專案可直接整合至自身專案,也適合初學者參考(教科書鮮少詳細講解此常用對話框)。

點擊下方連結下載完整示範專案原始碼。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved