- //回调函数
- int CALLBACK BrowseCallbackProc(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData)
- {
- if (uMsg == BFFM_INITIALIZED )
- {
- ::SendMessage(hwnd,BFFM_SETSELECTION,TRUE,lpData);
- }
- return 0;
- }
- //button对应的函数
- void CEncryptDlg::OnButtonSBrownEn()
- {
- LPITEMIDLIST pidlRoot = NULL;
- CString curPath(_T("F://long"));
- BROWSEINFO bi;
- char buffer[MAX_PATH];
- ZeroMemory(buffer,MAX_PATH);
- bi.hwndOwner = GetSafeHwnd();
- bi.pidlRoot = pidlRoot;
- bi.pszDisplayName = NULL;
- bi.lpszTitle = _T("选择一个文件夹");
- bi.ulFlags = BIF_EDITBOX;
- bi.lpfn = BrowseCallbackProc;
- bi.lParam = (LPARAM)curPath.GetBuffer(MAX_PATH);
- bi.iImage = 0;
- LPITEMIDLIST pList = NULL;
- if ((pList = SHBrowseForFolder(&bi))!=NULL)
- {
- TCHAR path[MAX_PATH];
- ZeroMemory(path,MAX_PATH);
- SHGetPathFromIDList(pList,path);
- mSFoldName = path;
- GetDlgItem(IDC_EDIT_SFOLD)->SetWindowText(mSFoldName);
- }
- }