C++選擇文件夾代碼的封裝
本文實(shí)例講述了C++選擇文件夾代碼的封裝,分享給大家供大家參考。具體方法如下:
該實(shí)例分為DirDialog.h頭文件與DirDialog.cpp源文件。
DirDialog.h頭文件代碼如下:
#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:
//顯示對(duì)話框
BOOL DoBrowse(HWND hwndOwner, LPTSTR pszDisplayName);
LPCTSTR GetPath(){return m_szPath;};
CDirDialog(void);
~CDirDialog(void);
};
#endif
DirDialog.cpp源文件代碼如下:
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 = "請(qǐng)選擇文件夾";
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)
{
}
使用時(shí)的代碼如下:
if (dir.DoBrowse(hwndDlg, "title"))
{
::MessageBoxA(hwndDlg, dir.GetPath(), "", MB_OK);
}
希望本文所述對(duì)大家的C++程序設(shè)計(jì)有所幫助。
相關(guān)文章
c++ 頭文件<cwchar>中常見函數(shù)的實(shí)現(xiàn)代碼
本文記錄了c++ 頭文件<cwchar>中常見函數(shù)的實(shí)現(xiàn),本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2023-12-12用32位int型變量表示單引號(hào)括起來的四個(gè)字符的深入探討
本篇文章是對(duì)用32位int型變量表示單引號(hào)括起來的四個(gè)字符進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05內(nèi)聯(lián)函數(shù)inline與宏定義深入解析
類的內(nèi)斂函數(shù)是一個(gè)真正的函數(shù)。使用內(nèi)聯(lián)函數(shù)inline可以完全取代表達(dá)式形式的宏定義2013-09-09C語言實(shí)現(xiàn)最長(zhǎng)遞增子序列問題的解決方法
這篇文章主要介紹了C語言實(shí)現(xiàn)最長(zhǎng)遞增子序列問題的解決方法,采用遞歸的方法解決該問題,是非常經(jīng)典的一類算法,需要的朋友可以參考下2014-09-09C++ LibCurl實(shí)現(xiàn)Web指紋識(shí)別功能
Web指紋識(shí)別是一種通過分析Web應(yīng)用程序的特征和元數(shù)據(jù),以確定應(yīng)用程序所使用的技術(shù)棧和配置的技術(shù),本文將通過C++中LibCurl庫(kù)實(shí)現(xiàn)簡(jiǎn)單是指紋識(shí)別功能,感興趣的可以了解下2023-11-11C語言統(tǒng)計(jì)一串字符中空格鍵、Tab鍵、回車鍵、字母、數(shù)字及其他字符的個(gè)數(shù)(Ctrl+Z終止輸入)
這篇文章主要介紹了C語言統(tǒng)計(jì)一串字符中空格鍵、Tab鍵、回車鍵、字母、數(shù)字及其他字符的個(gè)數(shù)(Ctrl+Z終止輸入) ,需要的朋友可以參考下2018-03-03