彈出打開/保存文件對話框 選擇文件夾對話框

打開/保存文件對話框:

CFileDialog::CFileDialog(BOOL bOpenFileDialog, //為TRUE則顯示打開對話框,為FALSE則顯示保存對話文件對話框LPCTSTR lpszDefExt = NULL, //默認的文件擴展名LPCTSTR lpszFileName = NULL, //默認的文件名DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, //設定風格LPCTSTR lpszFilter = NULL, //列出可供選擇的文件類型和相應的擴展名CWnd* pParentWnd = NULL //父窗口句柄指針
);

(1)打開文件對話框

static TCHAR szFilter[] =_T("Info Files (*.csv)|*.csv|")_T("Info Files (*.txt)|*.txt|")_T("Info Files (*.csv;*.txt)|*.csv;*.txt|");CFileDialog hFileDlg(TRUE,NULL,NULL,
OFN_FILEMUSTEXIST | OFN_READONLY | OFN_PATHMUSTEXIST,
szFilter,
NULL);
if(hFileDlg.DoModal() == IDOK)
{m_path = hFileDlg.GetPathName();UpdateData(FALSE);
}

LPCTSTR lpszFilter 參數格式如:"Chart Files (*.xlc)|*.xlc|Worksheet Files (*.xls)|*.xls|Data Files (*.xlc;*.xls)|*.xlc;*.xls|All Files (*.*)|*.*||";文件類型說明和擴展名間用 | 分隔,同種類型文件的擴展名間可以用 ; 分割,每種文件類型間用 | 分隔,末尾用 || 指明。

創建文件對話框可以使用DoModal(),在返回后可以利用下面的函數得到用戶選擇:
CString CFileDialog::GetPathName( ) 得到完整的文件名,包括目錄名和擴展名如:c:/test/test1.txt
CString CFileDialog::GetFileName( ) 得到完整的文件名,包括擴展名如:test1.txt

?

// 單個穩健獲取路徑

GetPathName()

// 多個文件獲取

POSITION pos = dlg.GetStartPosition();

while(pos != NULL)

{

  m_path = dlg.GetNextPathName(pos);

}

?

(2)保存文件對話框

把第一個參數設置為FALSE即可,其他與(1)類似。

?

(3)選擇文件夾對話框

?

 
    CString strPath;TCHAR szDir[MAX_PATH];BROWSEINFO bi;    bi.hwndOwner = this->m_hWnd;bi.pidlRoot = NULL;bi.pszDisplayName = szDir; // 此參數如為NULL則不能顯示對話框bi.lpszTitle = _T("請選擇目錄");bi.ulFlags = BIF_STATUSTEXT | BIF_USENEWUI | BIF_RETURNONLYFSDIRS;bi.lpfn = NULL;bi.lParam = 0;bi.iImage = 0;ITEMIDLIST *pidl = SHBrowseForFolder(&bi); // 調用顯示選擇對話框if(pidl == NULL){return;}// 取得文件夾路徑到Buffer里if(!SHGetPathFromIDList(pidl,szDir)){return;}else{strPath = szDir; // 保存為CString}
 

?

轉載于:https://www.cnblogs.com/sylar-liang/p/4122320.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/376461.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/376461.shtml
英文地址,請注明出處:http://en.pswp.cn/news/376461.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

SharePoint 2013的100個新功能之網站管理(一)

一:設置盤 網站操作現在被替換為新的(設置)盤子。一些新的操作像添加一個應用、添加一個頁面或設計管理器被添加而像創建網站則從菜單中移除了。 二:移除以其他用戶身份登錄 在SharePoint 2013中,從用戶歡迎菜單中移除…

160 - 13 badboy

偷懶了很久也是時候要繼續開始學習了。 環境: windows xp sp3 工具: VB Decompiler v8.3 這次是個vb文件,所以嘗試一下用這個的感覺。 打開文件之后發現有兩個CrackMe選擇,分別是1.0版本和2.0版本。 打開vb decompiler&#…

VBS操作剪切板

VBS操作剪切板 設置剪切板的內容 Dim Form, TextBox Set Form CreateObject("Forms.Form.1") Set TextBox Form.Controls.Add("Forms.TextBox.1").Object TextBox.MultiLine True TextBox.Text "忘記了,喜歡一個人的感覺" TextBo…

MVN生成java項目

mvn archetype:create -DgroupIdcom.mycompany.app -DartifactIdmyWeb -DarchetypeArtifactIdmaven-archetype-webapp 轉載于:https://www.cnblogs.com/alaricblog/p/3278239.html

160 - 14 bjanes.1

環境: window xp sp3 工具: ollydbg ,exeinfo pe 拿到程序后,查殼。顯示是無殼的VB程序 用之前用的VB decompiler載入,沒找到有用的東西,還是用回了OD。 OD載入,運行起來。輸入“GNUBD”然后點…

小結C++中一些自帶的好用東西

STL部分 <set>/<multiset> 支持插入一個元素&#xff0c;刪除指定key值的元素&#xff0c;查找指定key值的元素&#xff0c;返回最大/小值&#xff0c;找前驅&#xff0c;找后繼&#xff0c;返回指定key值的相同元素個數。 部分代替平衡樹中一些操作。不能updata或…

160 - 15 blaster99.exe

環境&#xff1a; windows xp sp 3 工具&#xff1a; Ollydbg 和 exeinfo pe 查殼&#xff0c;還是無殼的vb程序。 打開&#xff0c;有一個nag窗口&#xff0c;點擊”確認”的話才會彈出輸入serial的窗口&#xff0c;點“取消”的話會關閉程序 OD載入&#xff0c;運行到彈出n…

Freemarker宏和函數的用法和區別

1.宏&#xff08;macro&#xff09;寫法&#xff1a;<#macro page url page maskSize5> <#if (number pages)><li><a href"javascript:void(0);">下一頁</a></li><li><a href"javascript:void(0);">尾…

聚類算法初探(八)數據尺度化問題

文中尺度化的一些具體公式可參見 http://blog.csdn.net/itplus/article/details/10088101 其他相關鏈接 引言 預備知識 直接聚類法 K-means DBSCAN OPTICS 聚類分析的效果評測 作者: peghoty 出處: http://blog.csdn.net/itplus/article/details/10484553 歡迎轉載/分享, 但請…

160 - 16 bjanes.2

環境&#xff1a; windows xp sp3 工具&#xff1a; bjanes.2&#xff0c;HashCalc 這個和14題是一樣的&#xff0c;看名字就發現都是2.0A&#xff0c;然后用HashCalc來計算一下MD5&#xff0c;發現它們的值是相同的。 如果沒猜錯&#xff0c;應該就是在14題是被放錯題了。

HDU 1269

很水的TARJAN求強聯通圖的問題。 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm>using namespace std; const int N10010; const int M100010; int head[N],dfn[N],low[N],stack[N],st; struct Edge{int u,v;int nxt…

maven庫文件所在目錄

C:\Documents and Settings\jgzhang2\.m2\repository轉載于:https://www.cnblogs.com/yipihema/p/3289140.html

imul和mul的計算

imul是把操作數符號也算上的&#xff1a; 設 AL 0B4H BL 11H 執行 imul BL 后&#xff1a;AL 0FAF4 原因&#xff1a; imul是把符號也算上的&#xff0c;所以AL是某個數的補碼&#xff0c;故得AL -4C -76D&#xff0c;而BL 17D 是正數&#xff0c;相乘得-1292&#x…

【待完善】make: command not found,以及libtool.m4 and ltmain.sh have a version mismatch問題的解決方案...

之前為了使用一個庫&#xff0c;都是去下載源碼&#xff0c;然后根據開發者提供的README手動用GCC編譯&#xff0c;一直不能使用Makefile感覺很蛋痛&#xff0c;比如最近使用的ZThread 還是怪自己以前過于依賴IDE 最近發現用Cygwin就可以使用諸如./configure, make這樣的命令&a…

ubuntu 12.04 下安裝 MySQL 5.5

參考&#xff1a;http://www.linuxidc.com/Linux/2011-12/48920.htm《Ubuntu 11.04 通過 apt 安裝 MySQL 5.1 的全過程記錄》 說明&#xff1a;在mysql官網下載ubuntu下的安裝包進行安裝&#xff0c;不是一件容易的事。這里不是指下載&#xff0c;而是指安裝配置過程。 所以可以…

160 - 17 bjanes.3

環境&#xff1a; Wiondws XP sp3 工具&#xff1a; ollydbg&#xff0c;ExeInfo PE 查殼&#xff1a; 用Exeinfo PE 查殼&#xff0c;沒有殼&#xff0c;是VB寫的 過程&#xff1a; 一&#xff1a;隨便輸入一個serial&#xff0c;得到一個錯誤信息消息框&#xff0c;OD載入…

菜鳥nginx源碼剖析

菜鳥nginx源碼剖析 配置與部署篇&#xff08;一&#xff09; 手把手配置nginx “I love you” TCMalloc 對MYSQL 性能 優化的分析 菜鳥nginx源碼剖析系列文章解讀 Author&#xff1a;Echo Chen&#xff08;陳斌&#xff09; Email&#xff1a;chenb19870707gmail.com Blog&…

很有挫敗感

總會時不時的懷疑自己是不是學編程的料&#xff0c;還是自己太笨&#xff1f; 自己讀研前對編程可以說是一竅不通&#xff0c;雖然本科時學過C&#xff0c;但那時也只是應付考試&#xff0c;沒學到什么真才實學。 幸好讀研后&#xff0c;自己開始猛的補各種知識&#xff0c;開始…

160 - 18 Brad Soblesky.1

環境&#xff1a; windows xp sp3 工具&#xff1a; Ollydbg&#xff0c;exeinfope 用exeinfope查殼&#xff1a; 沒有殼&#xff0c;vc編譯的 運行后第一步&#xff0c;隨便輸入個”12345“&#xff0c;彈出一個錯誤消息框。 OD載入后直接搜索錯誤消息框的字符串&#xff0c…

漢字轉拼音縮寫

漢字轉拼音縮寫 /// 〈summary〉 /// 漢字轉拼音縮寫 /// Code By MuseStudiohotmail.com /// 2014-12-02 /// 〈/summary〉 /// 〈param name"str"〉要轉換的漢字字符串〈/param〉 /// 〈returns〉拼音縮寫〈/returns〉 public string GetPYString(string str) { s…