What I don't understand is why would you need to implement a localized ScrollWindow(..) to provide the effect of Scrolling a window.
For the sake simplicity Windows scrolls a window and takes care of all children in that window. These aren't questions that need answers. I'm just pointing out that MS Windows sufficiently offers API to scroll a window with children. I just wanted to point that out. Thanks. -----Original Message----- From: Andrey Gusev [mailto:[EMAIL PROTECTED] Sent: Wednesday, January 30, 2008 3:48 PM To: lazarus@miraclec.com Subject: Re: [lazarus] Found serious bug in win32 interface #2 * 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 _________________________________________________________________ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives