Check for SB_CTL before displaying a caret.
This commit is contained in:
parent
50e8ea387b
commit
e3810e3acc
|
@ -816,7 +816,8 @@ void SCROLL_DrawScrollBar( HWND hwnd, HDC hdc, INT nBar,
|
|||
(SCROLL_TrackingBar == nBar))
|
||||
SCROLL_DrawMovingThumb( hdc, &rect, vertical, arrowSize, thumbSize );
|
||||
|
||||
if(hwnd==GetFocus()) /* if scroll bar has focus, reposition the caret*/
|
||||
/* if scroll bar has focus, reposition the caret*/
|
||||
if(hwnd==GetFocus() && (nBar==SB_CTL))
|
||||
{
|
||||
if (!vertical)
|
||||
{
|
||||
|
@ -1174,22 +1175,19 @@ LRESULT WINAPI ScrollBarWndProc( HWND hwnd, UINT message, WPARAM wParam,
|
|||
/* Create a caret when a ScrollBar get focus*/
|
||||
RECT rect;
|
||||
int arrowSize, thumbSize, thumbPos, vertical;
|
||||
if(hwnd==GetFocus())
|
||||
vertical = SCROLL_GetScrollBarRect( hwnd, SB_CTL, &rect,
|
||||
&arrowSize, &thumbSize, &thumbPos );
|
||||
if (!vertical)
|
||||
{
|
||||
vertical = SCROLL_GetScrollBarRect( hwnd, SB_CTL, &rect,
|
||||
&arrowSize, &thumbSize, &thumbPos );
|
||||
if (!vertical)
|
||||
{
|
||||
CreateCaret(hwnd,1, thumbSize-2, rect.bottom-rect.top-2);
|
||||
SetCaretPos(thumbPos+1, rect.top+1);
|
||||
}
|
||||
else
|
||||
{
|
||||
CreateCaret(hwnd,1, rect.right-rect.left-2,thumbSize-2);
|
||||
SetCaretPos(rect.top+1, thumbPos+1);
|
||||
}
|
||||
ShowCaret(hwnd);
|
||||
CreateCaret(hwnd,1, thumbSize-2, rect.bottom-rect.top-2);
|
||||
SetCaretPos(thumbPos+1, rect.top+1);
|
||||
}
|
||||
else
|
||||
{
|
||||
CreateCaret(hwnd,1, rect.right-rect.left-2,thumbSize-2);
|
||||
SetCaretPos(rect.top+1, thumbPos+1);
|
||||
}
|
||||
ShowCaret(hwnd);
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
Loading…
Reference in New Issue