From 9f61b39bd4e1c1a8bdf57781f5b199aed62331fa Mon Sep 17 00:00:00 2001 From: ondrej Date: Wed, 2 Dec 2015 07:51:56 +0000 Subject: [PATCH] LCL: use ScrollWindowEx instead of ScrollWindow. Issue #26086 git-svn-id: trunk@50558 - --- lcl/interfaces/win32/win32wscontrols.pp | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/lcl/interfaces/win32/win32wscontrols.pp b/lcl/interfaces/win32/win32wscontrols.pp index 7e4af3442e..4701f2dc29 100644 --- a/lcl/interfaces/win32/win32wscontrols.pp +++ b/lcl/interfaces/win32/win32wscontrols.pp @@ -587,19 +587,11 @@ begin SWP_NOSIZE or SWP_NOMOVE or SWP_NOZORDER or SWP_NOACTIVATE or VisibilityToFlag[AWinControl.HandleObjectShouldBeVisible]) end; -function ScrollWindowPtr(hWnd: HWND; XAmount: longint; YAmount: longint; lpRect: pointer; - lpClipRect: pointer): WINBOOL; stdcall; external 'user32' name 'ScrollWindow'; -//function ScrollWindowPtr(hWnd: HWND; dx: longint; dy: longint; -// prcScroll: pointer; prcClip: pointer; hrgnUpdate: HRGN; prcUpdate: LPRECT; -// flags: UINT): WINBOOL; stdcall; external 'user32' name 'ScrollWindowEx'; - class procedure TWin32WSWinControl.ScrollBy(const AWinControl: TWinControl; DeltaX, DeltaY: integer); begin if Windows.IsWindowVisible(AWinControl.Handle) then - ScrollWindowPtr(AWinControl.Handle, DeltaX, DeltaY, nil, nil); - // ScrollWindowEx does not work here for some reason. - //ScrollWindowPtr(AWinControl.Handle, DeltaX, DeltaY, nil, nil, 0, nil, SW_INVALIDATE or SW_ERASE); + ScrollWindowEx(AWinControl.Handle, DeltaX, DeltaY, nil, nil, 0, nil, SW_INVALIDATE or SW_ERASE or SW_SCROLLCHILDREN); end; { TWin32WSDragImageList }