hhctrl.ocx: Permit WS_CHILD help windows.

This commit is contained in:
Erich Hoover 2012-07-12 10:25:07 -06:00 committed by Alexandre Julliard
parent 97bcef997f
commit 2686b9b588
3 changed files with 15 additions and 7 deletions

View File

@ -1585,7 +1585,7 @@ static LRESULT CALLBACK Help_WndProc(HWND hWnd, UINT message, WPARAM wParam, LPA
static BOOL HH_CreateHelpWindow(HHInfo *info)
{
HWND hWnd;
HWND hWnd, parent = 0;
RECT winPos = info->WinType.rcWindowPos;
WNDCLASSEXW wcex;
DWORD dwStyles, dwExStyles;
@ -1613,7 +1613,11 @@ static BOOL HH_CreateHelpWindow(HHInfo *info)
/* Read in window parameters if available */
if (info->WinType.fsValidMembers & HHWIN_PARAM_STYLES)
dwStyles = info->WinType.dwStyles | WS_OVERLAPPEDWINDOW;
{
dwStyles = info->WinType.dwStyles;
if (!(info->WinType.dwStyles & WS_CHILD))
dwStyles |= WS_OVERLAPPEDWINDOW;
}
else
dwStyles = WS_OVERLAPPEDWINDOW | WS_VISIBLE |
WS_CLIPSIBLINGS | WS_CLIPCHILDREN;
@ -1655,8 +1659,11 @@ static BOOL HH_CreateHelpWindow(HHInfo *info)
caption = info->WinType.pszCaption;
if (!*caption) caption = info->pCHMInfo->defTitle;
if (info->WinType.dwStyles & WS_CHILD)
parent = info->WinType.hwndCaller;
hWnd = CreateWindowExW(dwExStyles, windowClassW, caption,
dwStyles, x, y, width, height, NULL, NULL, hhctrl_hinstance, NULL);
dwStyles, x, y, width, height, parent, NULL, hhctrl_hinstance, NULL);
if (!hWnd)
return FALSE;
@ -1773,7 +1780,7 @@ void ReleaseHelpViewer(HHInfo *info)
OleUninitialize();
}
HHInfo *CreateHelpViewer(LPCWSTR filename)
HHInfo *CreateHelpViewer(LPCWSTR filename, HWND caller)
{
HHInfo *info = heap_alloc_zero(sizeof(HHInfo));
int i;
@ -1796,6 +1803,7 @@ HHInfo *CreateHelpViewer(LPCWSTR filename)
ReleaseHelpViewer(info);
return NULL;
}
info->WinType.hwndCaller = caller;
if(!CreateViewer(info)) {
ReleaseHelpViewer(info);

View File

@ -181,7 +181,7 @@ HWND WINAPI HtmlHelpW(HWND caller, LPCWSTR filename, UINT command, DWORD_PTR dat
}
index = default_index;
info = CreateHelpViewer(fullname);
info = CreateHelpViewer(fullname, caller);
if(!info)
{
heap_free(default_index);
@ -253,7 +253,7 @@ HWND WINAPI HtmlHelpW(HWND caller, LPCWSTR filename, UINT command, DWORD_PTR dat
return 0;
}
info = CreateHelpViewer(fullname);
info = CreateHelpViewer(fullname, caller);
if(!info)
return NULL;

View File

@ -194,7 +194,7 @@ IStream *GetChmStream(CHMInfo*,LPCWSTR,ChmPath*) DECLSPEC_HIDDEN;
LPWSTR FindContextAlias(CHMInfo*,DWORD) DECLSPEC_HIDDEN;
WCHAR *GetDocumentTitle(CHMInfo*,LPCWSTR) DECLSPEC_HIDDEN;
HHInfo *CreateHelpViewer(LPCWSTR) DECLSPEC_HIDDEN;
HHInfo *CreateHelpViewer(LPCWSTR,HWND) DECLSPEC_HIDDEN;
void ReleaseHelpViewer(HHInfo*) DECLSPEC_HIDDEN;
BOOL NavigateToUrl(HHInfo*,LPCWSTR) DECLSPEC_HIDDEN;
BOOL NavigateToChm(HHInfo*,LPCWSTR,LPCWSTR) DECLSPEC_HIDDEN;