* Mattias Gärtner <[EMAIL PROTECTED]> [Wed, 30 Jan 2008
18:45:57 +0100]:
Zitat von Andrey Gusev <[EMAIL PROTECTED]>:
> --- interfaces/win32/win32callback.inc (revision 13905)
> +++ interfaces/win32/win32callback.inc (working copy)
> @@ -504,7 +504,7 @@
> if (ControlDC = 0) or not needParentPaint then
> begin
> DCIndex := Windows.SaveDC(PaintMsg.DC);
> - MoveWindowOrgEx(PaintMsg.DC, ORect.Left, ORect.Top);
> + MoveWindowOrgEx(PaintMsg.DC, -ORect.Left, -ORect.Top);
> {$ifdef DEBUG_DOUBLEBUFFER}
> Windows.GetClipBox(PaintMsg.DC, ClipBox);
> DebugLn('LCL Drawing in DC ', IntToHex(PaintMsg.DC, 8), '
> with
> clipping rect (',
>
> I can provide application that's confirm my rightfulness.
> But i don't wish to do it, until all child-control negative effects
will
> debugged (by me), it need to LazReport designer functionality.
> If wished, try to place oversized TPaintBox on TScrollBox and try it
to
> scroll (with above patch applied).
It might improve the situation, but I guess it will not fix the whole
problem.
See here:
http://wiki.lazarus.freepascal.org/Win32/64_Interface
It was said, about intermeditate layer, earlier (by You).
Also, it implementation started in win32wsfrorms, rudimentary state.
But observed, with above correction, child controls scrolls correctly,
except
page and line messages processing, which brings some negative shift, for
childs.
Undoubtedly, we can force to work existing variant, a few various
methods can be invented
(twice MoveWindowOrg for example).
But pointed bug is nice explaination (and chance to eliminate) the
strange opposite scrolling behaviour.
see http://bugs.freepascal.org/view.php?id=10400,
also observation, described in my #16900 reply,
http://bugs.freepascal.org/view.php?id=10471,
correspond to pointed bug presence.
_________________________________________________________________
To unsubscribe: mail [EMAIL PROTECTED] with
"unsubscribe" as the Subject
archives at http://www.lazarus.freepascal.org/mailarchives