Damn, wedged on Ctrl+V.
==================

* Micha Nelissen <[EMAIL PROTECTED]> [Wed, 30 Jan 2008 22:27:36
+0100]:
Andrey Gusev wrote:
> - MoveWindowOrgEx(PaintMsg.DC, ORect.Left, ORect.Top);
> + MoveWindowOrgEx(PaintMsg.DC, -ORect.Left, -ORect.Top);

No. ORect.Left is offset from Win32 -> LCL. So if LCL draws at (0,0)
it
should actually be at (ORect.Left, ORect.Top), so the code is correct.

Opposite scrolling of TPaintBox mist be explanable, anyway.
Ether by message proccessing bug, or TPaintBox implementation.

That's unintelligible (now) to me, why Panel being placed together
with TPaintBox react to scroll otherwise then without him ?
Get project from last my post in "[lazarus] Found serious bug in win32 interface #2" thread.

> With these changes TScroolBox behaviour is almost adequate.
> Some problems with child controls positioning when scroll still
exists.

Hint: try looking at GetLCLClientBoundsOffset (if you didn't already).

Thanks fo hint, tha't is was missing part, to my investigations.

I am not sure what bug you want to fix?

My principal trouble is http://bugs.freepascal.org/view.php?id=10471
Mattias Gaertner have told way:

The problem is, that at the moment the win32 interface moves the childs
instead of moving the client area. This operation is not atomic, that
means, each child move creates messages. It is nearly impossible to
make this operation atomic platform independently. That's why instead
all widgetsets should instead move the 'client area'. This means the
childs should be put on an internal widget - the 'client area widget'.
Scrolling means then to simply move the client area widget.
So, it is needed that TWin32WSScrollingWinControl creates an internal
widget and put its childs on this widget. That's all.
The winapi part is not hard. The hardest part is to understand the
win32 interface and fix all places, where this might be relevant.

I simply fairly try to understand all up to the end.

_________________________________________________________________
    To unsubscribe: mail [EMAIL PROTECTED] with
               "unsubscribe" as the Subject
  archives at http://www.lazarus.freepascal.org/mailarchives

Reply via email to