/////////////////////////////////////////////////////////////////////////////
-// Name: helpchm.cpp
+// Name: src/msw/helpchm.cpp
// Purpose: Help system: MS HTML Help implementation
// Author: Julian Smart
// Modified by:
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
- #pragma implementation "helpchm.h"
-#endif
-
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
#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"
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();
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;
}
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;
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;
}
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;
}
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;
}
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;
}
wxCHMHelpController::~wxCHMHelpController()
{
- gs_htmlHelp(GetSuitableHWND(), 0, HH_CLOSE_ALL, 0L);
UnloadHtmlHelpLibrary();
}
#endif // wxUSE_HELP
-