[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
- 資料夾選擇對話方塊 JS實現(轉)JS
- Javascript檔案對話方塊JavaScript
- Android小記-仿淘寶聯動地址選擇對話方塊Android
- 常用元件 / 對話方塊及選單元件
- 實戰PyQt5: 058-字型選擇對話方塊QFontDialogQT
- Android通知之多選對話方塊通知Android
- c#中的模態對話方塊和非模態對話方塊C#
- Android通知之單選對話方塊通知Android
- MFC對話方塊新增選單欄並新增滑鼠單擊響應
- 對話方塊函式函式
- MFC 對話方塊中動態建立N級選單以及響應事件事件
- 視窗和對話方塊居中對齊
- c++開啟挑選圖片對話方塊C++
- Electron 開啟儲存檔案對話方塊
- QT常用控制元件(一)——選單欄和對話方塊QT控制元件
- flutter demo (四):對話方塊Flutter
- React中的模式對話方塊React模式
- 在 Flutter 使用 GetX 對話方塊Flutter
- Qt 對話方塊新增工具欄QT
- 如何自學qt(4)——對話方塊QT
- QT 等待對話方塊/進度QT
- android 多項對話方塊Android
- Android Dialog對話方塊Android
- Win10系統怎麼禁用“刪除檔案”對話方塊_win10禁用“刪除檔案”對話方塊的方法Win10
- 【數字影象處理】四.MFC對話方塊繪製灰度直方圖直方圖
- PyQt5開啟檔案對話方塊QFileDialogQT
- JavaScript練習題目(3)點選按鈕顯示確認對話方塊JavaScript
- 【Android初級】如何實現一個具有選擇功能的對話方塊效果(附原始碼)Android原始碼
- 利用input type=file和FileReader API實現在瀏覽器客戶端通過選擇對話方塊讀取檔案API瀏覽器客戶端
- Flutter Widgets 對話方塊-DialogFlutter
- Qt標準對話方塊實現QT
- TWebBrowser禁止彈出Alert對話方塊Web
- 一個Flex 對話方塊的坑Flex
- android常用對話方塊封裝Android封裝
- javascript中的彈出對話方塊JavaScript
- JavaScript彈出儲存對話方塊JavaScript