[Lazarus] TTabControl reverted to it's old implementation
Martin Schreiber
mse00000 at gmail.com
Wed Jul 27 20:42:12 CEST 2011
Am Mittwoch 27 Juli 2011, 12:22:01 schrieb Martin:
> >> view changes to reflect which tool is selected.
> >
> > I simplified this whole tab/notebook mess in fpGUI. I have one
> > PageControl component.
>
> Do you have a difference between WinControls and none WinControls? Or
> actually do you have a need for it?
>
> probably not... Though I don't know how InvalidateRect is implement for
> fpGui? You must have some interaction with the OS/Widgetset there, as
> invalidation can happen from outside the app
>
> Anyway, in W32 (and probably others too) If I invalidate multiply rects
> of the same WinControl (a wincontrol has a handle in the OS) then the
> minimum bounding rect is invalidated => so I may end up painting more
> than actually required.
> If I have separate WinControls, then each of them has it's invalidated
> rect (and each will get a callback invoking it's Paint.
In MSEgui twidget has no window handle. Attached to the top level twidget is a
twindow which manages the window handle and communicates with the window
manager. Every twidget can act as top level widget so there is no distinction
between WinControls and none WinControls in MSEgui.
twindow collects invalidataed rects in a region. While updating the window
only twidget which intersect the update region were painted. The widgets paint
on a common offscreen bitmap for platform independent double buffering.
Martin
More information about the Lazarus
mailing list