LRESULT CMainDlg::OnDownload(UINT /*uMsg*/, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/) { WCHAR wcPath[MAX_PATH] = { 0 }, wcData[MAX_PATH] = { 0 }; int itype = lParam; if (itype) { //下载文件 if (m_hDownload != NULL) { ::PostMessage(m_hDownload, WM_DOWNLOAD, wParam, lParam); } } else { std::string *precv = (std::string *)wParam; std::string str; int is = precv->find_last_of('/'); str.append(*precv, is + 1, precv->size()); c2w(wcData, MAX_PATH, str.c_str()); CFileDialog savedlg(FALSE, NULL, wcData, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, L"文件 (*.jpg; *.bmp; *.png)", m_hWnd); if (IDOK == savedlg.DoModal(*this)) { memset(wcData, 0, MAX_PATH); c2w(wcData, MAX_PATH, precv->c_str()); wcscpy(wcPath, savedlg.m_szFileName); URLDownloadToFile(0, wcData, wcPath, 0, NULL); } delete precv; } return 0; }
void CExportLogDlg::OnBrowse() { CFileDialog savedlg(FALSE, "xml", m_sFilename); if(IDOK == savedlg.DoModal()) { m_sFilename = savedlg.GetPathName(); UpdateData(FALSE); } }