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 |
On Thu, 16 Mar 2006 18:21:02 -0800, swaring wrote:
> 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 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. |
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 |
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. |
Free forum by Nabble | Edit this page |