X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8907154c1a8a6882c6797d1f16393ddfb23e7f3a..c92ad09968b09fe6e4cf17d9e962b51b7caaee91:/src/msw/helpwin.cpp?ds=sidebyside diff --git a/src/msw/helpwin.cpp b/src/msw/helpwin.cpp index a65b579e4c..1fa93f0fe6 100644 --- a/src/msw/helpwin.cpp +++ b/src/msw/helpwin.cpp @@ -33,9 +33,11 @@ #include -static HWND GetSuitableHWND() +static HWND GetSuitableHWND(wxWinHelpController* controller) { - if (wxTheApp->GetTopWindow()) + if (controller->GetParentWindow()) + return (HWND) controller->GetParentWindow()->GetHWND(); + else if (wxTheApp->GetTopWindow()) return (HWND) wxTheApp->GetTopWindow()->GetHWND(); else return GetDesktopWindow(); @@ -63,9 +65,9 @@ bool wxWinHelpController::DisplayContents(void) wxString str = GetValidFilename(m_helpFile); #if defined(__WIN95__) - return (WinHelp(GetSuitableHWND(), (const wxChar*) str, HELP_FINDER, 0L) != 0); + return (WinHelp(GetSuitableHWND(this), (const wxChar*) str, HELP_FINDER, 0L) != 0); #else - return (WinHelp(GetSuitableHWND(), (const wxChar*) str, HELP_CONTENTS, 0L) != 0); + return (WinHelp(GetSuitableHWND(this), (const wxChar*) str, HELP_CONTENTS, 0L) != 0); #endif } @@ -76,7 +78,7 @@ bool wxWinHelpController::DisplaySection(int section) wxString str = GetValidFilename(m_helpFile); - return (WinHelp((HWND) wxTheApp->GetTopWindow()->GetHWND(), (const wxChar*) str, HELP_CONTEXT, (DWORD)section) != 0); + return (WinHelp(GetSuitableHWND(this), (const wxChar*) str, HELP_CONTEXT, (DWORD)section) != 0); } bool wxWinHelpController::DisplayContextPopup(int contextId) @@ -85,7 +87,7 @@ bool wxWinHelpController::DisplayContextPopup(int contextId) wxString str = GetValidFilename(m_helpFile); - return (WinHelp((HWND) wxTheApp->GetTopWindow()->GetHWND(), (const wxChar*) str, HELP_CONTEXTPOPUP, (DWORD) contextId) != 0); + return (WinHelp(GetSuitableHWND(this), (const wxChar*) str, HELP_CONTEXTPOPUP, (DWORD) contextId) != 0); } bool wxWinHelpController::DisplayBlock(long block) @@ -101,13 +103,13 @@ bool wxWinHelpController::KeywordSearch(const wxString& k, wxString str = GetValidFilename(m_helpFile); - return (WinHelp(GetSuitableHWND(), (const wxChar*) str, HELP_PARTIALKEY, (DWORD)(const wxChar*) k) != 0); + return (WinHelp(GetSuitableHWND(this), (const wxChar*) str, HELP_PARTIALKEY, (DWORD)(const wxChar*) k) != 0); } // Can't close the help window explicitly in WinHelp bool wxWinHelpController::Quit(void) { - return (WinHelp(GetSuitableHWND(), 0, HELP_QUIT, 0L) != 0); + return (WinHelp(GetSuitableHWND(this), 0, HELP_QUIT, 0L) != 0); } // Append extension if necessary.