X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/103aec296a2c017f915b4b2b2584191fdb716a75..43a997b6e2064a189fa73ca1816908fb740ce297:/src/msw/printdlg.cpp diff --git a/src/msw/printdlg.cpp b/src/msw/printdlg.cpp index 57ae304e13..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" @@ -37,26 +43,21 @@ #endif #include -#include + +#include "wx/msw/private.h" + #include #ifndef __WIN32__ #include #endif -// Clash with Windows header files -#ifdef StartDoc -#undef StartDoc -#endif - // --------------------------------------------------------------------------- // wxWin macros // --------------------------------------------------------------------------- -#if !USE_SHARED_LIBRARY IMPLEMENT_DYNAMIC_CLASS(wxPrintDialog, wxDialog) IMPLEMENT_CLASS(wxPageSetupDialog, wxDialog) -#endif // =========================================================================== // implementation @@ -111,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); @@ -171,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; @@ -187,3 +208,5 @@ int wxPageSetupDialog::ShowModal() #endif } +#endif + // wxUSE_PRINTING_ARCHITECTURE