int CALLBACK BrowseCallbackProc(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData)
{
switch (uMsg)
{
case BFFM_INITIALIZED:
{
::SendMessage(hwnd, BFFM_SETSELECTION, TRUE, (LPARAM)lpData);
}
break;
default:
break;
}
return 0;
}
BOOL CEliteTubeCut::SetAndGetSavePath(CString& foldPath)
{
TCHAR szBuffer[MAX_PATH] = { 0 };
BROWSEINFO bi;
ZeroMemory(&bi, sizeof(BROWSEINFO));
CComPtr<IDispatch> swDis;
iSwApp->Frame(&swDis);
CComPtr<IFrame> swFrame;
swDis->QueryInterface(__uuidof(IFrame), (void**)&swFrame);
if (NULL == swFrame)
{
return FALSE;
}
long long hw = 0;
swFrame->GetHWndx64(&hw);
bi.hwndOwner = (HWND)hw;
bi.pszDisplayName = szBuffer;
bi.lpszTitle = _T("选择存储路径文件位置:");
bi.ulFlags = 0x0040 | BIF_RETURNFSANCESTORS | BIF_RETURNONLYFSDIRS | BIF_USENEWUI /*包含一个编辑框 用户可以手动填写路径 对话框可以调整大小之类的..;*/
| BIF_UAHINT /*带TIPS提示*/ /*| BIF_NONEWFOLDERBUTTON 不带新建文件夹按钮*/;
bi.lpfn = BrowseCallbackProc;
TCHAR sDesktopDir[_MAX_PATH]; // 当前电脑桌面路径
SHGetSpecialFolderPath(NULL, sDesktopDir, CSIDL_DESKTOP, 0);
CString strDefaultPath(sDesktopDir);
bi.lParam = (LPARAM)(LPCTSTR)(strDefaultPath);
LPITEMIDLIST idl = SHBrowseForFolder(&bi);
if (NULL == idl)
{
return FALSE;
}
SHGetPathFromIDList(idl, szBuffer);
return TRUE;
}
{
switch (uMsg)
{
case BFFM_INITIALIZED:
{
::SendMessage(hwnd, BFFM_SETSELECTION, TRUE, (LPARAM)lpData);
}
break;
default:
break;
}
return 0;
}
BOOL CEliteTubeCut::SetAndGetSavePath(CString& foldPath)
{
TCHAR szBuffer[MAX_PATH] = { 0 };
BROWSEINFO bi;
ZeroMemory(&bi, sizeof(BROWSEINFO));
CComPtr<IDispatch> swDis;
iSwApp->Frame(&swDis);
CComPtr<IFrame> swFrame;
swDis->QueryInterface(__uuidof(IFrame), (void**)&swFrame);
if (NULL == swFrame)
{
return FALSE;
}
long long hw = 0;
swFrame->GetHWndx64(&hw);
bi.hwndOwner = (HWND)hw;
bi.pszDisplayName = szBuffer;
bi.lpszTitle = _T("选择存储路径文件位置:");
bi.ulFlags = 0x0040 | BIF_RETURNFSANCESTORS | BIF_RETURNONLYFSDIRS | BIF_USENEWUI /*包含一个编辑框 用户可以手动填写路径 对话框可以调整大小之类的..;*/
| BIF_UAHINT /*带TIPS提示*/ /*| BIF_NONEWFOLDERBUTTON 不带新建文件夹按钮*/;
bi.lpfn = BrowseCallbackProc;
TCHAR sDesktopDir[_MAX_PATH]; // 当前电脑桌面路径
SHGetSpecialFolderPath(NULL, sDesktopDir, CSIDL_DESKTOP, 0);
CString strDefaultPath(sDesktopDir);
bi.lParam = (LPARAM)(LPCTSTR)(strDefaultPath);
LPITEMIDLIST idl = SHBrowseForFolder(&bi);
if (NULL == idl)
{
return FALSE;
}
SHGetPathFromIDList(idl, szBuffer);
return TRUE;
}