mirror of
https://github.com/reactos/reactos.git
synced 2024-07-02 18:54:25 +00:00
[Win32SS]
- Fix MDI menu redraw. Tested with WineFile. svn path=/trunk/; revision=69312
This commit is contained in:
parent
7b90b413a5
commit
a53aa543b4
|
@ -988,6 +988,15 @@ VOID UserDrawCaptionBar(
|
||||||
|
|
||||||
if (!(Style & WS_MINIMIZE))
|
if (!(Style & WS_MINIMIZE))
|
||||||
{
|
{
|
||||||
|
PMENU menu = UserGetMenuObject(UlongToHandle(pWnd->IDMenu));
|
||||||
|
/* Draw menu bar */
|
||||||
|
if (menu && !(Style & WS_CHILD))
|
||||||
|
{
|
||||||
|
TempRect = CurrentRect;
|
||||||
|
TempRect.bottom = TempRect.top + menu->cyMenu;
|
||||||
|
CurrentRect.top += MENU_DrawMenuBar(hDC, &TempRect, pWnd, FALSE);
|
||||||
|
}
|
||||||
|
|
||||||
if (ExStyle & WS_EX_CLIENTEDGE)
|
if (ExStyle & WS_EX_CLIENTEDGE)
|
||||||
{
|
{
|
||||||
DrawEdge(hDC, &CurrentRect, EDGE_SUNKEN, BF_RECT | BF_ADJUST);
|
DrawEdge(hDC, &CurrentRect, EDGE_SUNKEN, BF_RECT | BF_ADJUST);
|
||||||
|
@ -1014,7 +1023,6 @@ NC_DoNCPaint(PWND pWnd, HDC hDC, INT Flags)
|
||||||
PWND Parent;
|
PWND Parent;
|
||||||
RECT WindowRect, CurrentRect, TempRect;
|
RECT WindowRect, CurrentRect, TempRect;
|
||||||
BOOL Active = FALSE;
|
BOOL Active = FALSE;
|
||||||
PCURICON_OBJECT pIcon = NULL;
|
|
||||||
|
|
||||||
if (!IntIsWindowVisible(pWnd) ||
|
if (!IntIsWindowVisible(pWnd) ||
|
||||||
(pWnd->state & WNDS_NONCPAINT && !(pWnd->state & WNDS_FORCEMENUDRAW)) ||
|
(pWnd->state & WNDS_NONCPAINT && !(pWnd->state & WNDS_FORCEMENUDRAW)) ||
|
||||||
|
@ -1118,7 +1126,7 @@ NC_DoNCPaint(PWND pWnd, HDC hDC, INT Flags)
|
||||||
CurrentRect.top += UserGetSystemMetrics(SM_CYCAPTION);
|
CurrentRect.top += UserGetSystemMetrics(SM_CYCAPTION);
|
||||||
}
|
}
|
||||||
|
|
||||||
UserDrawCaption(pWnd, hDC, &TempRect, NULL, pIcon ? UserHMGetHandle(pIcon) : NULL, NULL, Flags);
|
UserDrawCaption(pWnd, hDC, &TempRect, NULL, NULL, NULL, Flags);
|
||||||
|
|
||||||
/* Draw buttons */
|
/* Draw buttons */
|
||||||
if (Style & WS_SYSMENU)
|
if (Style & WS_SYSMENU)
|
||||||
|
|
|
@ -380,6 +380,13 @@ NtUserCallTwoParam(
|
||||||
|
|
||||||
switch(Routine)
|
switch(Routine)
|
||||||
{
|
{
|
||||||
|
case TWOPARAM_ROUTINE_REDRAWTITLE:
|
||||||
|
{
|
||||||
|
DWORD_PTR Ret;
|
||||||
|
Window = UserGetWindowObject((HWND)Param1);
|
||||||
|
Ret = (DWORD_PTR)UserPaintCaption(Window, (INT)Param2);
|
||||||
|
RETURN(Ret);
|
||||||
|
}
|
||||||
case TWOPARAM_ROUTINE_SETMENUBARHEIGHT:
|
case TWOPARAM_ROUTINE_SETMENUBARHEIGHT:
|
||||||
{
|
{
|
||||||
DWORD_PTR Ret;
|
DWORD_PTR Ret;
|
||||||
|
|
|
@ -382,6 +382,7 @@ UserPaintCaption(PWND pwnd, INT Flags)
|
||||||
ReleaseDC(UserHMGetHandle(pwnd), hDC);
|
ReleaseDC(UserHMGetHandle(pwnd), hDC);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//NtUserCallTwoParam((DWORD_PTR)UserHMGetHandle(pwnd),Flags,TWOPARAM_ROUTINE_REDRAWTITLE)
|
||||||
}
|
}
|
||||||
|
|
||||||
LRESULT FASTCALL
|
LRESULT FASTCALL
|
||||||
|
|
|
@ -1092,8 +1092,11 @@ static void MDI_UpdateFrameText( HWND frame, HWND hClient, BOOL repaint, LPCWSTR
|
||||||
DefWindowProcW( frame, WM_SETTEXT, 0, (LPARAM)lpBuffer );
|
DefWindowProcW( frame, WM_SETTEXT, 0, (LPARAM)lpBuffer );
|
||||||
|
|
||||||
if (repaint)
|
if (repaint)
|
||||||
|
{
|
||||||
|
if (!NtUserCallTwoParam((DWORD_PTR)frame,DC_ACTIVE,TWOPARAM_ROUTINE_REDRAWTITLE))
|
||||||
SetWindowPos( frame, 0,0,0,0,0, SWP_FRAMECHANGED |
|
SetWindowPos( frame, 0,0,0,0,0, SWP_FRAMECHANGED |
|
||||||
SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE | SWP_NOZORDER );
|
SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE | SWP_NOZORDER );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue