Added callback to start in current directory

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3630 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Unknown (MT) 1999-09-13 06:38:43 +00:00
parent b661e6759e
commit bfa2e032ef

View File

@ -46,6 +46,34 @@
IMPLEMENT_CLASS(wxDirDialog, wxDialog)
#endif
static int CALLBACK
BrowseCallbackProc(HWND hwnd,UINT uMsg,LPARAM lp, LPARAM pData)
{
TCHAR szDir[MAX_PATH];
switch(uMsg)
{
case BFFM_INITIALIZED:
// We have put m_path into pData.
// TRUE -> passing char *, not dir id.
SendMessage(hwnd,BFFM_SETSELECTION,TRUE,pData);
break;
case BFFM_SELCHANGED:
// Set the status window to the currently selected path.
if (SHGetPathFromIDList((LPITEMIDLIST) lp ,szDir))
{
SendMessage(hwnd,BFFM_SETSTATUSTEXT,0,(LPARAM)szDir);
}
break;
default:
break;
}
return 0;
}
wxDirDialog::wxDirDialog(wxWindow *parent, const wxString& message,
// const wxString& caption,
const wxString& defaultPath,
@ -99,8 +127,8 @@ int wxDirDialog::ShowModal(void)
bi.pszDisplayName = lpBuffer;
bi.lpszTitle = m_message; // BC++ 4.52 says LPSTR, not LPTSTR?
bi.ulFlags = 0;
bi.lpfn = NULL;
bi.lParam = 0;
bi.lpfn = BrowseCallbackProc;
bi.lParam = (LPARAM)m_path.c_str();
// Browse for a folder and return its PIDL.
pidlBrowse = SHBrowseForFolder(&bi);