I'm having problems with redrawing in a Web Browser control.
I thought I had figured out a clever way of displaying PDF docs in my app without bothering with the Adobe ActiveX control, which seems less than happy hosted in Dolphin. (Apparently it is not really a full-featured ActiveX control, it's meant only for use in IE. I guess VB and others do extra work to make non-controls such as these work). Anyway, I was just using a web browser control and feeding it PDF files. The Acrobat plug-in would display fine, and as long as I had clipChildren set in the ContainerView which the URLPresenter was in everything seemed OK at first. I can drag the window around, resize it, etc without problems. But, as soon as I minimize or maximize it, or drag another window on top of it and then off again, I begin to get redraw problems. The window layout is like this: ContainerView (Border Layout) ContainerView (west) ContainerView (clipChildren=true) (center) AXValueConvertingControlSite (Shell.Explorer) ContainerView (east) If it matters, I'm setting this presenter up under CompositePresenter and letting Dolphin add the Shell when it's shown. By setting the background color of the topmost ContainerView to red, it becomes obvious that the topmost ContainerView is painting over the PDF after the PDF has displayed. So, I tried adding clipChildren to the topmost ContainerView as well. This works great for the PDF in all ways, but now the ListView which I had stuffed under the West-most ContainerView won't redraw correctly. When the window is first displayed, the ListView doesn't draw at all unless I start selecting items, then they draw one item at a time as I select them. I can force them all to redraw by drastically resizing the window with the mouse. Strangely, a reference view containing a few edit boxes and some buttons (under the East ContainerView) displays fine. Setting ALL ContainerView to clipChildren results in the same effect: PDFs are happy, reference view is happy, listview is wacky. I'm not sure if the problem is with clipChildren, ListViews, something else, or myself. I don't really know much about clipChildren at all, except that it fixes redraw problems sometimes. Any ideas? BTW, I'm running NT 4 SP6. Thanks, Jerry Bell [hidden email] |
Strangely enough, the problem seems to have disappeared after I rearranged
the layout of the presenters. The new layout is more like: ContainerView ContainerView (Center) ContainerView(west) - List ContainerView(center) - Shell.Explorer ContainerView(South) ContainerView - reference view, originally the eastmost presenter All of the ContainerViews have clipChildren set to true. I don't think I've chaned anything other than re-arranging subpresenters. Nevertheless, both the PDF view and the ListView seem to be working great. Strange. Jerry Bell [hidden email] "Jerry Bell" <[hidden email]> wrote in message news:91nufj$4qq08$[hidden email]... > I'm having problems with redrawing in a Web Browser control. > > I thought I had figured out a clever way of displaying PDF docs in my app > without bothering with the Adobe ActiveX control, which seems less than > happy hosted in Dolphin. (Apparently it is not really a full-featured > ActiveX control, it's meant only for use in IE. I guess VB and others do > extra work to make non-controls such as these work). Anyway, I was just > using a web browser control and feeding it PDF files. The Acrobat plug-in > would display fine, and as long as I had clipChildren set in the > ContainerView which the URLPresenter was in everything seemed OK at first. > > I can drag the window around, resize it, etc without problems. But, as > as I minimize or maximize it, or drag another window on top of it and then > off again, I begin to get redraw problems. > > The window layout is like this: > > ContainerView (Border Layout) > ContainerView (west) > ContainerView (clipChildren=true) (center) > AXValueConvertingControlSite (Shell.Explorer) > ContainerView (east) > > If it matters, I'm setting this presenter up under CompositePresenter and > letting Dolphin add the Shell when it's shown. > > By setting the background color of the topmost ContainerView to red, it > becomes obvious that the topmost ContainerView is painting over the PDF > after the PDF has displayed. So, I tried adding clipChildren to the > ContainerView as well. This works great for the PDF in all ways, but now > the ListView which I had stuffed under the West-most ContainerView won't > redraw correctly. When the window is first displayed, the ListView doesn't > draw at all unless I start selecting items, then they draw one item at a > time as I select them. I can force them all to redraw by drastically > resizing the window with the mouse. Strangely, a reference view containing > a few edit boxes and some buttons (under the East ContainerView) displays > fine. Setting ALL ContainerView to clipChildren results in the same effect: > PDFs are happy, reference view is happy, listview is wacky. > > I'm not sure if the problem is with clipChildren, ListViews, something else, > or myself. I don't really know much about clipChildren at all, except that > it fixes redraw problems sometimes. > > Any ideas? > > BTW, I'm running NT 4 SP6. > > Thanks, > > Jerry Bell > [hidden email] > > > > > > > > > > > |
Free forum by Nabble | Edit this page |