corect scroll icon hotspot for big icon mode Modified: trunk/reactos/subsys/system/explorer/taskbar/startmenu.cpp Modified: trunk/reactos/subsys/system/explorer/taskbar/startmenu.h _____
Modified: trunk/reactos/subsys/system/explorer/taskbar/startmenu.cpp --- trunk/reactos/subsys/system/explorer/taskbar/startmenu.cpp 2005-11-20 08:46:09 UTC (rev 19357) +++ trunk/reactos/subsys/system/explorer/taskbar/startmenu.cpp 2005-11-20 09:09:19 UTC (rev 19358) @@ -391,7 +391,7 @@
if (_arrow_btns) { RECT rect_up, rect_down;
- GetArrowButtonRects(&rect_up, &rect_down); + GetArrowButtonRects(&rect_up, &rect_down, _big_icons);
SCROLL_MODE scroll_mode = SCROLL_NOT;
@@ -837,21 +837,24 @@ DrawIconEx(hdc, clnt.right/2-cx/2, clnt.bottom-cy-1, arrowDownIcon, cx, cy, 0, 0, DI_NORMAL); }
-void StartMenu::GetArrowButtonRects(LPRECT prect_up, LPRECT prect_down) +void StartMenu::GetArrowButtonRects(LPRECT prect_up, LPRECT prect_down, bool big_icons) { + int cx = big_icons? 16: 8; + int cy = big_icons? 8: 4; + GetClientRect(_hwnd, prect_up); *prect_down = *prect_up;
-// prect_up->left = prect_up->right/2 - 4; -// prect_up->right = prect_up->left + 8; - prect_up->right -= 8; - prect_up->top = _floating_btn? 3: 1; - prect_up->bottom = prect_up->top + 4; +// prect_up->left = prect_up->right/2 - cx/2; +// prect_up->right = prect_up->left + cy; + prect_up->right -= cx; + prect_up->top = _floating_btn? cy-1: 1; + prect_up->bottom = prect_up->top + cy;
-// prect_down->left = prect_down->right/2 - 4; -// prect_down->right = prect_down->left + 8; - prect_down->right -= 8; - prect_down->top = prect_down->bottom - 5; +// prect_down->left = prect_down->right/2 - cx/2; +// prect_down->right = prect_down->left + cy; + prect_down->right -= cx; + prect_down->top = prect_down->bottom - cy - 1; }
_____
Modified: trunk/reactos/subsys/system/explorer/taskbar/startmenu.h --- trunk/reactos/subsys/system/explorer/taskbar/startmenu.h 2005-11-20 08:46:09 UTC (rev 19357) +++ trunk/reactos/subsys/system/explorer/taskbar/startmenu.h 2005-11-20 09:09:19 UTC (rev 19358) @@ -301,7 +301,7 @@
void DrawFloatingButton(HDC hdc); void GetFloatingButtonRect(LPRECT prect); - void GetArrowButtonRects(LPRECT prect_up, LPRECT prect_down); + void GetArrowButtonRects(LPRECT prect_up, LPRECT prect_down, bool big_icons);
void DrawArrows(HDC hdc, bool big_icons);