//обзор каталога void CAppSettingsDlg::OnAppSettingsLogfolderButton() { UpdateData(); TCHAR szFolder[MAX_PATH*2] = { _T('\0') }; LPCTSTR lpszInitial = m_log_files_folder.GetBuffer(MAX_PATH); BOOL bEditBox = TRUE; BOOL bRet = XBrowseForFolder(m_hWnd, lpszInitial, -1, MLL::LoadString(IDS_SELECT_FOLDER_FOR_LOG_FILES), szFolder, sizeof(szFolder)/sizeof(TCHAR)-2, bEditBox); if (bRet) { m_log_files_folder = szFolder; UpdateData(FALSE); } }
void COptionsDlg::BrowseDirClick(int nId) { CString cstrCurFolder = ""; GetDlgItem(nId)->GetWindowText(cstrCurFolder); cstrCurFolder.Replace("%s", ""); cstrCurFolder.Replace("%d", ""); cstrCurFolder.Replace("%m", ""); auto_ptr<char> apCurFolder( new char[cstrCurFolder.GetLength() + 1] ); char *szCurFolder = apCurFolder.get(); szCurFolder[cstrCurFolder.GetLength()] = 0; TCHAR szFolder[MAX_PATH * 2]; szFolder[0] = _T('\0'); if (cstrCurFolder != "") strcpy(szCurFolder, cstrCurFolder.GetBuffer(0)); BOOL bRet = XBrowseForFolder(m_hWnd, szCurFolder, szFolder, sizeof(szFolder)/sizeof(TCHAR)-2); if (bRet) GetDlgItem(nId)->SetWindowText(szFolder); }