Check for SB_CTL before displaying a caret.

This commit is contained in:
Francois Gouget 2000-11-01 01:52:37 +00:00 committed by Alexandre Julliard
parent 50e8ea387b
commit e3810e3acc
1 changed files with 13 additions and 15 deletions

View File

@ -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;