diff --git a/dll/win32/comctl32/button.c b/dll/win32/comctl32/button.c index bc9336d705e..813aa7455d6 100644 --- a/dll/win32/comctl32/button.c +++ b/dll/win32/comctl32/button.c @@ -1273,7 +1273,11 @@ static UINT BUTTON_CalcLabelRect(const BUTTON_INFO *infoPtr, HDC hdc, RECT *rc) { case DT_TOP: r.top++; r.bottom++; break; case DT_VCENTER: n = r.bottom - r.top; +#ifdef __REACTOS__ + r.top = rc->top + ((rc->bottom - 1 - rc->top) - n) / 2; +#else r.top = rc->top + ((rc->bottom - rc->top) - n) / 2; +#endif r.bottom = r.top + n; break; case DT_BOTTOM: n = r.bottom - r.top; r.bottom = rc->bottom - 1; diff --git a/win32ss/user/user32/controls/button.c b/win32ss/user/user32/controls/button.c index 2538a9847bd..6e7d70e77e0 100644 --- a/win32ss/user/user32/controls/button.c +++ b/win32ss/user/user32/controls/button.c @@ -832,7 +832,11 @@ static UINT BUTTON_CalcLabelRect(HWND hwnd, HDC hdc, RECT *rc) { case DT_TOP: r.top++; r.bottom++; break; case DT_VCENTER: n = r.bottom - r.top; +#ifdef __REACTOS__ + r.top = rc->top + ((rc->bottom - 1 - rc->top) - n) / 2; +#else r.top = rc->top + ((rc->bottom - rc->top) - n) / 2; +#endif r.bottom = r.top + n; break; case DT_BOTTOM: n = r.bottom - r.top; r.bottom = rc->bottom - 1;