X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8907154c1a8a6882c6797d1f16393ddfb23e7f3a..68df211faedeabdf4259858109d1bd7385fdccf5:/src/msw/helpchm.cpp diff --git a/src/msw/helpchm.cpp b/src/msw/helpchm.cpp index a34d2069c3..2d964b0011 100644 --- a/src/msw/helpchm.cpp +++ b/src/msw/helpchm.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: helpchm.cpp +// Name: src/msw/helpchm.cpp // Purpose: Help system: MS HTML Help implementation // Author: Julian Smart // Modified by: @@ -16,7 +16,7 @@ #pragma hdrstop #endif -#if wxUSE_HELP && wxUSE_MS_HTML_HELP && defined(__WIN95__) +#if wxUSE_HELP && wxUSE_MS_HTML_HELP #include "wx/filefn.h" #include "wx/msw/helpchm.h" @@ -75,15 +75,17 @@ static bool LoadHtmlHelpLibrary() static void UnloadHtmlHelpLibrary() { if ( gs_htmlHelp ) - { + { if (wxPluginManager::UnloadLibrary( _T("HHCTRL.OCX") )) gs_htmlHelp = 0; } } -static HWND GetSuitableHWND() +static HWND GetSuitableHWND(wxCHMHelpController* controller) { - if (wxTheApp->GetTopWindow()) + if (controller->GetParentWindow()) + return (HWND) controller->GetParentWindow()->GetHWND(); + else if (wxTheApp->GetTopWindow()) return (HWND) wxTheApp->GetTopWindow()->GetHWND(); else return GetDesktopWindow(); @@ -114,7 +116,7 @@ bool wxCHMHelpController::DisplayContents() wxString str = GetValidFilename(m_helpFile); - gs_htmlHelp(GetSuitableHWND(), (const wxChar*) str, HH_DISPLAY_TOPIC, 0L); + gs_htmlHelp(GetSuitableHWND(this), (const wxChar*) str, HH_DISPLAY_TOPIC, 0L); return true; } @@ -129,7 +131,7 @@ bool wxCHMHelpController::DisplaySection(const wxString& section) bool isFilename = (section.Find(wxT(".htm")) != wxNOT_FOUND); if (isFilename) - gs_htmlHelp(GetSuitableHWND(), (const wxChar*) str, HH_DISPLAY_TOPIC, (DWORD) (const wxChar*) section); + gs_htmlHelp(GetSuitableHWND(this), (const wxChar*) str, HH_DISPLAY_TOPIC, (DWORD) (const wxChar*) section); else KeywordSearch(section); return true; @@ -142,7 +144,7 @@ bool wxCHMHelpController::DisplaySection(int section) wxString str = GetValidFilename(m_helpFile); - gs_htmlHelp(GetSuitableHWND(), (const wxChar*) str, HH_HELP_CONTEXT, (DWORD)section); + gs_htmlHelp(GetSuitableHWND(this), (const wxChar*) str, HH_HELP_CONTEXT, (DWORD)section); return true; } @@ -167,7 +169,7 @@ bool wxCHMHelpController::DisplayContextPopup(int contextId) popup.pszFont = NULL; popup.pszText = NULL; - gs_htmlHelp(GetSuitableHWND(), (const wxChar*) str, HH_DISPLAY_TEXT_POPUP, (DWORD) & popup); + gs_htmlHelp(GetSuitableHWND(this), (const wxChar*) str, HH_DISPLAY_TEXT_POPUP, (DWORD) & popup); return true; } @@ -184,7 +186,7 @@ bool wxCHMHelpController::DisplayTextPopup(const wxString& text, const wxPoint& popup.pszFont = NULL; popup.pszText = (const wxChar*) text; - gs_htmlHelp(GetSuitableHWND(), NULL, HH_DISPLAY_TEXT_POPUP, (DWORD) & popup); + gs_htmlHelp(GetSuitableHWND(this), NULL, HH_DISPLAY_TEXT_POPUP, (DWORD) & popup); return true; } @@ -210,13 +212,13 @@ bool wxCHMHelpController::KeywordSearch(const wxString& k, link.pszWindow = NULL ; link.fIndexOnFail = TRUE ; - gs_htmlHelp(GetSuitableHWND(), (const wxChar*) str, HH_KEYWORD_LOOKUP, (DWORD)& link); + gs_htmlHelp(GetSuitableHWND(this), (const wxChar*) str, HH_KEYWORD_LOOKUP, (DWORD)& link); return true; } bool wxCHMHelpController::Quit() { - gs_htmlHelp(GetSuitableHWND(), 0, HH_CLOSE_ALL, 0L); + gs_htmlHelp(GetSuitableHWND(this), 0, HH_CLOSE_ALL, 0L); return true; } @@ -243,4 +245,3 @@ wxCHMHelpController::~wxCHMHelpController() } #endif // wxUSE_HELP -