最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++ 打開選擇文件夾對話框選擇目錄的操作

 更新時間:2021年01月13日 11:07:47   作者:dofaster  
這篇文章主要介紹了C++ 打開選擇文件夾對話框選擇目錄的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

需要添加頭文件:

#ifdef WIN32
#include <shlobj.h>
#endif

調(diào)用文件對話框選擇目錄:

// 選擇目錄
void CustomInstalWndViewCtrl::OnSigBtnSelectInstallDir()
{
 BROWSEINFO bi;
 bi.hwndOwner = NULL;
 bi.pidlRoot = CSIDL_DESKTOP;//文件夾的根目錄,此處為桌面
 bi.pszDisplayName = NULL;
 bi.lpszTitle = NULL;//顯示位于對話框左上部的提示信息
 bi.ulFlags = BIF_DONTGOBELOWDOMAIN | BIF_RETURNONLYFSDIRS | BIF_NEWDIALOGSTYLE;//有新建文件夾按鈕
 bi.lpfn = NULL;
 bi.iImage = 0;
 LPITEMIDLIST pidl = SHBrowseForFolder(&bi);//調(diào)用選擇對話框
 if (pidl == NULL)
 {
 std::cout << "沒有選擇目錄" << std::endl;
 return;
 }
 TCHAR strFolder[MAX_PATH];
 SHGetPathFromIDList(pidl, strFolder);
 std::string sFolder = StringUtil::WStringToString(strFolder);
}

補(bǔ)充:c++ MFC選擇文件夾

void openDir(){
 //選擇文件夾 
 string _Path,root;
 TCHAR szDir[MAX_PATH];
 BROWSEINFO bi;
 ITEMIDLIST *pidl;
 bi.hwndOwner = this->m_hWnd;
 bi.pidlRoot = NULL;
 bi.pszDisplayName = szDir;//這個是輸出緩沖區(qū) 
 bi.lpszTitle = _T("文件夾:"); //標(biāo)題 
 bi.ulFlags = BIF_NEWDIALOGSTYLE;//使用新的界面,在win7中效果較好//BIF_RETURNONLYFSDIRS; 
 bi.lpfn = NULL;
 bi.lParam = 0;
 bi.iImage = 0;
 pidl = SHBrowseForFolder(&bi);//彈出對話框 
 if (pidl == NULL)//點了取消,或者選擇了無效的文件夾則返回NULL 
 return;
 
 if (SHGetPathFromIDList(pidl, szDir)) {
 int length = WideCharToMultiByte(CP_ACP, 0, szDir, -1, NULL, 0, NULL, NULL);
 char ch[] = "";
 WideCharToMultiByte(CP_ACP, 0, szDir, -1, ch, length, NULL, NULL);
 root = string(ch);
 } 
}

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • C++?中如何結(jié)束?while?(cin>>str)?的輸入

    C++?中如何結(jié)束?while?(cin>>str)?的輸入

    這篇文章主要介紹了C++?中如何結(jié)束?while?(cin>>str)?的輸入,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • mfc入門教程之實現(xiàn)一個簡單的計算器

    mfc入門教程之實現(xiàn)一個簡單的計算器

    這篇文章主要介紹了mfc入門教程,手把手教你如何開發(fā)一個簡單的計算器,需要的朋友可以參考下
    2019-04-04
  • C語言利用面試真題理解指針的使用

    C語言利用面試真題理解指針的使用

    C語言這門課程在計算機(jī)的基礎(chǔ)教學(xué)中一直占有比較重要的地位,然而要想突破C語言的學(xué)習(xí),對指針的掌握是非常重要的,本文將具體針對指針的基礎(chǔ)做詳盡的介紹
    2022-08-08
  • C++超詳細(xì)講解函數(shù)參數(shù)的默認(rèn)值

    C++超詳細(xì)講解函數(shù)參數(shù)的默認(rèn)值

    在C++中,定義函數(shù)時可以給形參指定一個默認(rèn)的值,這樣調(diào)用函數(shù)時如果沒有給這個形參賦值(沒有對應(yīng)的實參),那么就使用這個默認(rèn)的值。也就是說,調(diào)用函數(shù)時可以省略有默認(rèn)值的參數(shù)
    2022-05-05
  • C語言用遞歸函數(shù)對素數(shù)進(jìn)行判斷流程

    C語言用遞歸函數(shù)對素數(shù)進(jìn)行判斷流程

    素數(shù)判斷是編程語言學(xué)習(xí)過程中一個老生常談的話題,而它的實現(xiàn)也有多種算法,包括經(jīng)典的試除法(以及試除法的幾種優(yōu)化),進(jìn)階的素數(shù)表篩選法,埃拉托斯特尼篩法和歐拉篩法(以及它們的優(yōu)化)等。對以上算法感興趣的朋友們,不妨搜索“素數(shù)判斷的N種境界”來學(xué)習(xí)了解
    2022-09-09
  • 詳解C語言之堆棧

    詳解C語言之堆棧

    這篇文章主要為大家介紹了C語言的堆棧,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11
  • C++ 整型與字符串的互轉(zhuǎn)方式

    C++ 整型與字符串的互轉(zhuǎn)方式

    今天小編就為大家分享一篇C++ 整型與字符串的互轉(zhuǎn)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • C++ 中的new 和 delete 運算符及new和malloc的區(qū)別解析

    C++ 中的new 和 delete 運算符及new和malloc的區(qū)別解析

    在C++中,又引出了一個新玩法:new 和 delete,在C++中,new是用來動態(tài)開辟內(nèi)存的,delete是用來釋放我們所動態(tài)開辟的內(nèi)存C++中的new和delete運算符及new和malloc的區(qū)別解析,感興趣的朋友跟隨小編一起看看吧
    2024-11-11
  • C語言函數(shù)調(diào)用的三種實現(xiàn)方法實例

    C語言函數(shù)調(diào)用的三種實現(xiàn)方法實例

    C語言中函數(shù)的調(diào)用主要有如下三種方法,直接調(diào)用,函數(shù)指針調(diào)用,函數(shù)指針傳遞調(diào)用其中后兩種本質(zhì)一樣,但在有無返回值時還稍有差別,下面這篇文章主要給大家介紹了關(guān)于C語言函數(shù)調(diào)用的三種實現(xiàn)方法,需要的朋友可以參考下
    2022-01-01
  • C++實現(xiàn)拷貝構(gòu)造函數(shù)的方法詳解

    C++實現(xiàn)拷貝構(gòu)造函數(shù)的方法詳解

    拷貝構(gòu)造函數(shù)是構(gòu)造函數(shù)的一個重載,因此顯式的定義了拷貝構(gòu)造,那么編譯器也不再默認(rèn)生成構(gòu)造函數(shù)。本文主要介紹了C++實現(xiàn)拷貝構(gòu)造函數(shù)的方法,需要的可以參考一下
    2022-09-09

最新評論

巴塘县| 金塔县| 兴仁县| 中宁县| 海兴县| 彝良县| 阳新县| 长春市| 灵台县| 通州区| 建平县| 思南县| 开化县| 那曲县| 大同县| 潍坊市| 那曲县| 安徽省| 武宣县| 秀山| 沁源县| 石屏县| 平凉市| 六盘水市| 乐安县| 平谷区| 弋阳县| 龙江县| 定西市| 遂川县| 象州县| 台北县| 清镇市| 和顺县| 乌兰察布市| 故城县| 英德市| 涞水县| 德阳市| 彰化市| 娱乐|