* Fix autoscroll with headers. Issue 21944

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2418 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
blikblum
2012-05-07 01:50:23 +00:00
parent 7a497ae1ce
commit de99993b53

View File

@ -17876,11 +17876,14 @@ begin
Include(Result, sdLeft); Include(Result, sdLeft);
if (ClientWidth + FEffectiveOffsetX < Integer(FRangeX)) and (X > ClientWidth - Integer(FDefaultNodeHeight)) then if (ClientWidth + FEffectiveOffsetX < Integer(FRangeX)) and (X > ClientWidth - Integer(FDefaultNodeHeight)) then
Include(Result, sdRight); Include(Result, sdRight);
//lclheader
if (ClientHeight - FOffsetY < Integer(FRangeY)) and (Y > inherited GetClientRect.Bottom - Integer(FDefaultNodeHeight)) then
Include(Result, sdDown);
if hoVisible in FHeader.FOptions then
Dec(Y, FHeader.Height);
if (Y < Integer(FDefaultNodeHeight)) and (FOffsetY <> 0) then if (Y < Integer(FDefaultNodeHeight)) and (FOffsetY <> 0) then
Include(Result, sdUp); Include(Result, sdUp);
if (ClientHeight - FOffsetY < Integer(FRangeY)) and (Y > ClientHeight - Integer(FDefaultNodeHeight)) then
Include(Result, sdDown);
//todo: probably the code below is bug due to poor timeGetTime implementation //todo: probably the code below is bug due to poor timeGetTime implementation
// Since scrolling during dragging is not handled via the timer we do a check here whether the auto // Since scrolling during dragging is not handled via the timer we do a check here whether the auto
@ -19383,7 +19386,8 @@ var
begin begin
GetCursorPos(P); GetCursorPos(P);
R := ClientRect; //lclheader
R := inherited GetClientRect;
ClipRect := R; ClipRect := R;
//todo: add MapWindowPoints to LCL?? //todo: add MapWindowPoints to LCL??
{$ifndef INCOMPLETE_WINAPI} {$ifndef INCOMPLETE_WINAPI}