国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++選擇文件夾代碼的封裝

2020-01-26 15:14:23
字體:
來源:轉載
供稿:網友

本文實例講述了C++選擇文件夾代碼的封裝,分享給大家供大家參考。具體方法如下:

該實例分為DirDialog.h頭文件與DirDialog.cpp源文件。

DirDialog.h頭文件代碼如下:

復制代碼 代碼如下:
#pragma once 
#ifndef __DIRDIALOG_H_HH 
#define __DIRDIALOG_H_HH 

#include <Shlobj.h>  

class CDirDialog 

protected: 
    BROWSEINFO m_bi; 
    char m_szDisplayName[MAX_PATH]; //顯示名稱 
    char m_szPath[MAX_PATH]; //選擇的目錄 
 
public: 
    //顯示對話框 
    BOOL DoBrowse(HWND hwndOwner, LPTSTR pszDisplayName); 
 
    LPCTSTR GetPath(){return m_szPath;}; 
 
    CDirDialog(void); 
    ~CDirDialog(void); 
}; 
 
#endif

DirDialog.cpp源文件代碼如下:

復制代碼 代碼如下:
#include "DirDialog.h" 

CDirDialog::CDirDialog(void) 

    ::ZeroMemory((void*)&m_bi, sizeof(BROWSEINFO)); 
    memset(m_szDisplayName, 0, MAX_PATH); 
    memset(m_szPath, 0, MAX_PATH); 
    m_bi.hwndOwner = NULL; 
    m_bi.pidlRoot = NULL; 
    m_bi.lpszTitle = "請選擇文件夾"; 
    m_bi.ulFlags = BIF_RETURNONLYFSDIRS ; 
    m_bi.lpfn = NULL; 
    m_bi.lParam = NULL; 
    m_bi.iImage = NULL; 

 
BOOL CDirDialog::DoBrowse(HWND hwndOwner, LPTSTR pszTitle) 

    m_bi.hwndOwner = hwndOwner; 
    m_bi.lpszTitle = pszTitle; 
    PIDLIST_ABSOLUTE pItem = ::SHBrowseForFolderA(&m_bi); 
    if (pItem != NULL) 
    { 
        ::SHGetPathFromIDListA(pItem, m_szPath); 
        return TRUE; 
    } 
     
    return FALSE; 

 
CDirDialog::~CDirDialog(void) 

}

使用時的代碼如下:

復制代碼 代碼如下:
CDirDialog dir; 
if (dir.DoBrowse(hwndDlg, "title")) 

 ::MessageBoxA(hwndDlg, dir.GetPath(), "", MB_OK); 
}

希望本文所述對大家的C++程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 莆田市| 灵武市| 庆元县| 乡宁县| 尉犁县| 景谷| 卓资县| 金山区| 黄冈市| 武安市| 阳信县| 雅江县| 南郑县| 富平县| 武山县| 准格尔旗| 西乌珠穆沁旗| 会昌县| 砀山县| 安达市| 玉树县| 射洪县| 海宁市| 金平| 尉犁县| 晋中市| 华阴市| 嵊泗县| 永修县| 丰台区| 祥云县| 道真| 泾源县| 桑植县| 桐柏县| 丹东市| 青川县| 崇义县| 济源市| 罗甸县| 绥棱县|