From 30f434d78b58e3a4198cf5ba5a9e5a0ce1cd5292 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 07 七月 2022 14:32:36 +0800 Subject: [PATCH] 'bug修复' --- app/GUITool.cpp | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 57 insertions(+), 0 deletions(-) diff --git a/app/GUITool.cpp b/app/GUITool.cpp index 613391a..a1e9429 100644 --- a/app/GUITool.cpp +++ b/app/GUITool.cpp @@ -27,4 +27,61 @@ ::CoTaskMemFree(lpidlBrowse); } return strFolderPath; +} + +CString GUITool::selectImage() { + + TCHAR szBuffer[MAX_PATH] = { 0 }; + OPENFILENAME ofn = { 0 }; + ofn.lStructSize = sizeof(ofn); + ofn.lpstrFilter = _T("All\0*.PNG\0*.JPG");//要选择的文件后缀 + ofn.nFilterIndex = 1; + ofn.lpstrFile = szBuffer;//存放文件的缓冲区 + ofn.nMaxFile = sizeof(szBuffer) / sizeof(*szBuffer); + ofn.nFilterIndex = 0; + ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST; + BOOL bSel = GetOpenFileName(&ofn); + if (bSel) { + return szBuffer; + } + + + return 0; +} + +std::list<CString> GUITool::selectMulImages() { + std::list<CString> paths; + TCHAR szBuffer[MAX_PATH] = { 0 }; + OPENFILENAME ofn = { 0 }; + TCHAR szPath[MAX_PATH]; + int nLen = 0; + TCHAR* p; + ofn.lStructSize = sizeof(ofn); + ofn.lpstrFilter = _T("All\0*.PNG\0*.JPG");//要选择的文件后缀 + ofn.nFilterIndex = 1; + ofn.lpstrFile = szBuffer;//存放文件的缓冲区 + ofn.nMaxFile = sizeof(szBuffer) / sizeof(*szBuffer); + ofn.Flags = OFN_FILEMUSTEXIST | OFN_ALLOWMULTISELECT | OFN_HIDEREADONLY | OFN_EXPLORER; + BOOL bSel = GetOpenFileName(&ofn); + if (bSel) { + lstrcpyn(szPath, szBuffer, ofn.nFileOffset); + szPath[ofn.nFileOffset] = '\0'; + nLen = lstrlen(szPath); + if (szPath[nLen - 1] != '\\') { + lstrcat(szPath, _T("\\")); + } + p = szBuffer + ofn.nFileOffset; + while (*p) { + CString name(p); + CString dir(szPath); + CString path; + path.Format(_T("%s%s"), dir, name); + paths.push_back(path); + //移至下一个文件 + p += lstrlen(p) + 1; + } + } + + + return paths; } \ No newline at end of file -- Gitblit v1.8.0