X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/42e69d6b435a4dd5415caf3750db62cf45b6f373..c3d15542d6047f49f493dbd5559fab99c06a336e:/src/msw/printdlg.cpp diff --git a/src/msw/printdlg.cpp b/src/msw/printdlg.cpp index c9e98a3dbf..712b0d374a 100644 --- a/src/msw/printdlg.cpp +++ b/src/msw/printdlg.cpp @@ -28,6 +28,12 @@ #pragma hdrstop #endif +#if wxUSE_PRINTING_ARCHITECTURE + +#ifndef WX_PRECOMP + #include "wx/app.h" +#endif + #include "wx/printdlg.h" #include "wx/dcprint.h" @@ -50,10 +56,8 @@ // wxWin macros // --------------------------------------------------------------------------- -#if !USE_SHARED_LIBRARY IMPLEMENT_DYNAMIC_CLASS(wxPrintDialog, wxDialog) IMPLEMENT_CLASS(wxPageSetupDialog, wxDialog) -#endif // =========================================================================== // implementation @@ -108,7 +112,18 @@ int wxPrintDialog::ShowModal() { m_printDialogData.ConvertToNative(); - bool ret = (PrintDlg( (PRINTDLG *)m_printDialogData.GetNativeData() ) != 0); + PRINTDLG* p = (PRINTDLG *)m_printDialogData.GetNativeData() ; + if (m_dialogParent) + p->hwndOwner = (HWND) m_dialogParent->GetHWND(); + else if (wxTheApp->GetTopWindow()) + p->hwndOwner = (HWND) wxTheApp->GetTopWindow()->GetHWND(); + else + p->hwndOwner = 0; + + bool ret = (PrintDlg( p ) != 0); + + p->hwndOwner = 0; + if ( ret != FALSE && ((PRINTDLG *)m_printDialogData.GetNativeData())->hDC) { wxPrinterDC *pdc = new wxPrinterDC((WXHDC) ((PRINTDLG *)m_printDialogData.GetNativeData())->hDC); @@ -168,7 +183,16 @@ int wxPageSetupDialog::ShowModal() { #ifdef __WIN95__ m_pageSetupData.ConvertToNative(); - if (PageSetupDlg( (PAGESETUPDLG *)m_pageSetupData.GetNativeData() )) + PAGESETUPDLG *p = (PAGESETUPDLG *)m_pageSetupData.GetNativeData(); + if (m_dialogParent) + p->hwndOwner = (HWND) m_dialogParent->GetHWND(); + else if (wxTheApp->GetTopWindow()) + p->hwndOwner = (HWND) wxTheApp->GetTopWindow()->GetHWND(); + else + p->hwndOwner = 0; + BOOL retVal = PageSetupDlg( p ) ; + p->hwndOwner = 0; + if (retVal) { m_pageSetupData.ConvertFromNative(); return wxID_OK; @@ -184,3 +208,5 @@ int wxPageSetupDialog::ShowModal() #endif } +#endif + // wxUSE_PRINTING_ARCHITECTURE