/////////////////////////////////////////////////////////////////////////////
-// Name: helpwin.cpp
+// Name: src/msw/helpwin.cpp
// Purpose: Help system: WinHelp implementation
// Author: Julian Smart
// Modified by:
#include <string.h>
-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();
wxString str = GetValidFilename(m_helpFile);
-#if defined(__WIN95__)
- return (WinHelp(GetSuitableHWND(), (const wxChar*) str, HELP_FINDER, 0L) != 0);
-#else
- return (WinHelp(GetSuitableHWND(), (const wxChar*) str, HELP_CONTENTS, 0L) != 0);
-#endif
+ return (WinHelp(GetSuitableHWND(this), (const wxChar*) str, HELP_FINDER, 0L) != 0);
}
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)
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)
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.