Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

D6 CardContainer/ListView painting problem

2 views
Skip to first unread message

swa...@ozemail.com.au

unread,
Mar 16, 2006, 9:21:02 PM3/16/06
to
Dolphin 6.02 on WinXP SP2.

I have a Shell that contains a CardContainer. One of the back cards is
a ContainerView that contains a ListView.

When I switch to that card, the listView is not painted correctly (it
appears blank). If I invalidate it somehow (cover it with another
window, or switch tabs ), it then paints correctly.

I have uploaded a simple shell that demonstrates the problem to:

http://stevewaring.net/pac/SWTabListDemo.zip

FWIW: Setting #clipChildren to true stops the problem, but this is just
masking the actual problem. I can see the listView being painted and
then being painted over by the CardContainer's backcolor.

Steve
--
Steve Waring

Stefan Schmiedl

unread,
Mar 17, 2006, 7:34:45 AM3/17/06
to

I saw this too in a demo program I did with D6 some time ago.
IIRC the misbehaviour disappeared after using a less dynamic
layout manager than I originally had. I can't remember the details,
but I could probably dig them out, if it would help.

s.

swa...@ozemail.com.au

unread,
Mar 23, 2006, 10:43:25 PM3/23/06
to
Hi Stefan,

Was it ListView that was not painting properly? Was it in a
CardContainer?

I have had a couple of goes at debugging this, but can't find the
cause.

A fair bit has changed between D5 and D6 that could effect this. The
DolphinWindow windows class no longer has a default class background
brush ... which changes the behavior of #onEraseRequired:, the way
view's backcolor works has had significant changes, layoutMangers now
use the *DeferWindowPos functions, and cardContainer's use TabViewXP
which does all its own painting.

I have tried to isolate each of these changes, but the example still
does not paint properly when first switching to the tab containing the
ListView.

If your example of the problem did not include a CardContainer or a
ListView, that would help to narrow down the problem.

Steve
--
Steve Waring

Stefan Schmiedl

unread,
Mar 28, 2006, 5:26:29 AM3/28/06
to
On Thu, 23 Mar 2006 19:43:25 -0800, swaring wrote:

> Hi Stefan,
>
> Was it ListView that was not painting properly? Was it in a CardContainer?

Yes and yes.

>
> I have had a couple of goes at debugging this, but can't find the cause.

yes, too :-)

>
> A fair bit has changed between D5 and D6 that could effect this. The
> DolphinWindow windows class no longer has a default class background brush
> ... which changes the behavior of #onEraseRequired:, the way view's
> backcolor works has had significant changes, layoutMangers now use the
> *DeferWindowPos functions, and cardContainer's use TabViewXP which does
> all its own painting.
>
> I have tried to isolate each of these changes, but the example still does
> not paint properly when first switching to the tab containing the
> ListView.

Did you try it with different layout managers? I think that was what it
did for me.

>
> If your example of the problem did not include a CardContainer or a
> ListView, that would help to narrow down the problem.

But that was exactly my setup ... I'll try to dig up my samples later
this week, when I find some spare time.

s.


0 new messages