[MFC]選擇目錄對話方塊和選擇檔案對話方塊
在MFC程式設計中經常會需要用到選擇目錄和選擇檔案的介面,以下總結一下本人常用的這兩種對話方塊的生成方法:
選擇目錄對話方塊
//選擇目錄按鈕
void CDcPackerDlg::OnBnClickedDecgen()
{
char szPath[MAX_PATH]; //存放選擇的目錄路徑
CString str;
ZeroMemory(szPath, sizeof(szPath));
BROWSEINFO bi;
bi.hwndOwner = m_hWnd;
bi.pidlRoot = NULL;
bi.pszDisplayName = szPath;
bi.lpszTitle = "請選擇需要打包的目錄:";
bi.ulFlags = 0;
bi.lpfn = NULL;
bi.lParam = 0;
bi.iImage = 0;
//彈出選擇目錄對話方塊
LPITEMIDLIST lp = SHBrowseForFolder(&bi);
if(lp && SHGetPathFromIDList(lp, szPath))
{
str.Format("選擇的目錄為 %s", szPath);
AfxMessageBox(str);
}
else
AfxMessageBox("無效的目錄,請重新選擇");
}
void CDcPackerDlg::OnBnClickedDecgen()
{
char szPath[MAX_PATH]; //存放選擇的目錄路徑
CString str;
ZeroMemory(szPath, sizeof(szPath));
BROWSEINFO bi;
bi.hwndOwner = m_hWnd;
bi.pidlRoot = NULL;
bi.pszDisplayName = szPath;
bi.lpszTitle = "請選擇需要打包的目錄:";
bi.ulFlags = 0;
bi.lpfn = NULL;
bi.lParam = 0;
bi.iImage = 0;
//彈出選擇目錄對話方塊
LPITEMIDLIST lp = SHBrowseForFolder(&bi);
if(lp && SHGetPathFromIDList(lp, szPath))
{
str.Format("選擇的目錄為 %s", szPath);
AfxMessageBox(str);
}
else
AfxMessageBox("無效的目錄,請重新選擇");
}
選擇檔案對話方塊
CString CDcPackerDlg::BootOpenDialog() //返回選擇的檔名稱
{
CString strFile = _T("");
CFileDialog dlgFile(TRUE, NULL, NULL, OFN_HIDEREADONLY, _T("Describe Files (*.cfg)|*.cfg|All Files (*.*)|*.*||"), NULL);
if (dlgFile.DoModal())
{
strFile = dlgFile.GetPathName();
}
return strFile;
}
//載入檔案按鈕
void CDcPackerDlg::OnBnClickedSelectdec()
{
// TODO: Add your control notification handler code here
m_strDescPath = ""; //類的成員變數
//"開啟檔案"對話方塊,選擇檔案,返回其路徑
m_strDescPath = BootOpenDialog();
}
{
CString strFile = _T("");
CFileDialog dlgFile(TRUE, NULL, NULL, OFN_HIDEREADONLY, _T("Describe Files (*.cfg)|*.cfg|All Files (*.*)|*.*||"), NULL);
if (dlgFile.DoModal())
{
strFile = dlgFile.GetPathName();
}
return strFile;
}
//載入檔案按鈕
void CDcPackerDlg::OnBnClickedSelectdec()
{
// TODO: Add your control notification handler code here
m_strDescPath = ""; //類的成員變數
//"開啟檔案"對話方塊,選擇檔案,返回其路徑
m_strDescPath = BootOpenDialog();
}
相關文章
- Matlab - 獲取和儲存檔案路徑選擇對話方塊Matlab
- 【Qt 專欄】檔案對話方塊 檔案的彈窗選擇-QFileDialogQT
- Android小記-仿淘寶聯動地址選擇對話方塊Android
- 實戰PyQt5: 058-字型選擇對話方塊QFontDialogQT
- VUE:點選開啟的對話方塊外面時,對話方塊總是被關閉Vue
- Dialog對話方塊
- 對於核取方塊的快捷選擇
- 【C++】【MFC】模態和非模態對話方塊C++
- 規定對話方塊
- 登入對話方塊
- Electron 開啟儲存檔案對話方塊
- c++開啟挑選圖片對話方塊C++
- QT常用控制元件(一)——選單欄和對話方塊QT控制元件
- flutter demo (四):對話方塊Flutter
- Flutter Widgets 對話方塊-DialogFlutter
- DialogPane對話方塊佈局
- Win10系統怎麼禁用“刪除檔案”對話方塊_win10禁用“刪除檔案”對話方塊的方法Win10
- pyqt-PyQt5開啟檔案對話方塊QFileDialogQT
- 【Android初級】如何實現一個具有選擇功能的對話方塊效果(附原始碼)Android原始碼
- React中的模式對話方塊React模式
- Qt 對話方塊新增工具欄QT
- 0x7_對話方塊
- java Swing詢問對話方塊Java
- 在 Flutter 使用 GetX 對話方塊Flutter
- 訊息對話方塊 confirm() prompt()
- 16.讓對話方塊支援拖拽操作/目錄框開啟操作
- 如何自學qt(4)——對話方塊QT
- 在c++MFC下用PCL顯示操作點雲檔案 MFC對話方塊顯示操作PCL點雲C++
- flutter佈局-7-About對話方塊Flutter
- JavaFX 如何使用內建的對話方塊Java
- w10系統對話方塊這麼變小_w10系統對話方塊如何縮小
- c#—OpenFileDialog(開啟檔案對話方塊)和new關鍵字的用法C#
- 關於showModalDialog()對話方塊點選按鈕彈出新頁面的問題
- 模態和非模態對話方塊(簡單易懂!)
- [開發教程]第31講:Bootstrap對話方塊boot
- Element-Ui元件(三十八)Dialog 對話方塊UI元件
- Flutter 23: 圖解自定義 Dialog 對話方塊Flutter圖解
- 建立互動式shell指令碼對話方塊指令碼
- 21.Quick QML-FileDialog、FolderDialog對話方塊UI