]> git.saurik.com Git - wxWidgets.git/commitdiff
Added callback to start in current directory
authorUnknown (MT) <nobody@localhost>
Mon, 13 Sep 1999 06:38:43 +0000 (06:38 +0000)
committerUnknown (MT) <nobody@localhost>
Mon, 13 Sep 1999 06:38:43 +0000 (06:38 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3630 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/msw/dirdlg.cpp

index 4be95f9efe7c7f9fba64c757cdd2694de8d1ab30..32505241db2b4d9588021bcbb082b5df2dc5a628 100644 (file)
 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);