-char *wxFileSelectorEx(const char *title,
- const char *defaultDir,
- const char *defaultFileName,
- int* defaultFilterIndex,
- const char *filter,
- int flags,
- wxWindow* parent,
- int x,
- int y)
+ case WM_NOTIFY:
+ {
+ OFNOTIFY *pNotifyCode = reinterpret_cast<OFNOTIFY *>(lParam);
+ if ( pNotifyCode->hdr.code == CDN_INITDONE )
+ {
+ reinterpret_cast<wxFileDialog *>(
+ pNotifyCode->lpOFN->lCustData)
+ ->MSWOnInitDone((WXHWND)hDlg);
+ }
+ }
+ break;
+
+ case WM_DESTROY:
+ // reuse the position used for the dialog the next time by default
+ //
+ // NB: at least under Windows 2003 this is useless as after the
+ // first time it's shown the dialog always remembers its size
+ // and position itself and ignores any later SetWindowPos calls
+ wxCopyRECTToRect(wxGetWindowRect(::GetParent(hDlg)), gs_rectDialog);
+ break;
+ }
+
+ // do the default processing
+ return 0;
+}
+
+// ----------------------------------------------------------------------------
+// wxFileDialog
+// ----------------------------------------------------------------------------
+
+wxFileDialog::wxFileDialog(wxWindow *parent,
+ const wxString& message,
+ const wxString& defaultDir,
+ const wxString& defaultFileName,
+ const wxString& wildCard,
+ long style,
+ const wxPoint& pos,
+ const wxSize& sz,
+ const wxString& name)
+ : wxFileDialogBase(parent, message, defaultDir, defaultFileName,
+ wildCard, style, pos, sz, name)
+
+{
+ // NB: all style checks are done by wxFileDialogBase::Create
+
+ m_bMovedWindow = false;
+ m_centreDir = 0;