diff --git a/win32ss/user/ntuser/draw.c b/win32ss/user/ntuser/draw.c index f648287c55..5317dffcaf 100644 --- a/win32ss/user/ntuser/draw.c +++ b/win32ss/user/ntuser/draw.c @@ -947,6 +947,7 @@ BOOL FASTCALL UITOOLS95_DrawFrameMenu(HDC dc, LPRECT r, UINT uFlags) LOGFONTW lf; HFONT hFont, hOldFont; WCHAR Symbol; + int SmallHgt; switch(uFlags & 0xff) { case DFCS_MENUARROWUP: @@ -979,9 +980,11 @@ BOOL FASTCALL UITOOLS95_DrawFrameMenu(HDC dc, LPRECT r, UINT uFlags) */ return FALSE; } - /* acquire ressources only if valid menu */ + /* acquire resources only if valid menu */ RtlZeroMemory(&lf, sizeof(LOGFONTW)); - lf.lfHeight = r->bottom - r->top; + SmallHgt = FT_MulDiv(r->bottom - r->top, 80, 100); // Scale Font Height to 80% + r->top = r->top + (r->bottom - r->top - SmallHgt)/2; // Try and keep vertically centered + lf.lfHeight = SmallHgt; // Set new calculated Height into Font lf.lfWidth = 0; lf.lfWeight = FW_NORMAL; lf.lfCharSet = DEFAULT_CHARSET; @@ -1004,7 +1007,7 @@ BOOL FASTCALL UITOOLS95_DrawFrameMenu(HDC dc, LPRECT r, UINT uFlags) IntGdiSetTextColor(dc, IntGetSysColor((uFlags & DFCS_INACTIVE) ? COLOR_BTNSHADOW : COLOR_BTNTEXT)); } /* draw selected symbol */ - GreTextOutW(dc, r->left, r->top, &Symbol, 1); + GreTextOutW(dc, FT_MulDiv(r->left, 95, 100), r->top, &Symbol, 1); /* restore previous settings */ NtGdiSelectFont(dc, hOldFont); GreDeleteObject(hFont);