X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/706d74ab816eff9d9c8bc223685e37f8d155ed38..ddfca47f05f821f034514bf5d5cf938d80fa2829:/src/msw/toplevel.cpp diff --git a/src/msw/toplevel.cpp b/src/msw/toplevel.cpp index fd59bcdb2d..9ce65687c6 100644 --- a/src/msw/toplevel.cpp +++ b/src/msw/toplevel.cpp @@ -61,7 +61,8 @@ static inline bool IsZoomed(HWND WXUNUSED(hwnd)) { return FALSE; } #endif // __WXMICROWIN__ -// this is defined in dialog.cpp +// NB: wxDlgProc must be defined here and not in dialog.cpp because the latter +// is not included by wxUniv build which does need wxDlgProc LONG APIENTRY _EXPORT wxDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); @@ -243,7 +244,7 @@ WXHWND wxTopLevelWindowMSW::MSWGetParent() const parent = ms_hiddenParent; } - return parent ? parent->GetHWND() : NULL; + return parent ? parent->GetHWND() : WXHWND(NULL); } bool wxTopLevelWindowMSW::CreateDialog(const void *dlgTemplate, @@ -783,3 +784,21 @@ void wxTopLevelWindowMSW::OnActivate(wxActivateEvent& event) } } +// the DialogProc for all wxWindows dialogs +LONG APIENTRY _EXPORT +wxDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) +{ + switch ( message ) + { + case WM_INITDIALOG: + // for this message, returning TRUE tells system to set focus to + // the first control in the dialog box, but as we set the focus + // ourselves, we return FALSE from here as well, so fall through + + default: + // for all the other ones, FALSE means that we didn't process the + // message + return FALSE; + } +} +