Hi,
I'm trying to embed IE into a java app, and although it mostly works fine, there is an annoying painting problem that means sometimes the containing JPanel (a swing component) overdraws what IE drew - ie the clipping doesn't seem to be working correctly.
I have a few questions on this:
1) I was under the impression that OLE in place objects are contained within their own child window, and that therefore anything drawn underneath that window should be clipped - is this right?
2) The windows are definately being sent WM_PAINT in the right order, but somewhere along the line the first window is incorrectly allowed to draw on top of the second. Is painting asynchronous when using OLE embedding? If so, is there any way to disable this?
thanks -mike
I am seeing something similar/related: my app has a window with two child windows embedded (a toolbar and an IE object). The paint problem I see is that the IE control is not drawing an area equal to the height of the toolbar (see attached picture) On Windows, the parent window receives just a single WM_PAINT, with clipping area (0,0,300,300), while under Wine it receives *two* messages, one with clipping (0,0,300,300), the second with (0,24,300,300) (where 24 is the height of the toolbar)
After digging in the painting code, I have a doubt: maybe the second WM_PAINT was intended to be sent to the IE control, not to the parent window (and the clipping would be the right one)...
Alberto
At 17.20 09/04/2003 +0100, Mike Hearn wrote:
Hi,
I'm trying to embed IE into a java app, and although it mostly works fine, there is an annoying painting problem that means sometimes the containing JPanel (a swing component) overdraws what IE drew - ie the clipping doesn't seem to be working correctly.
I have a few questions on this:
- I was under the impression that OLE in place objects are contained
within their own child window, and that therefore anything drawn underneath that window should be clipped - is this right?
- The windows are definately being sent WM_PAINT in the right order,
but somewhere along the line the first window is incorrectly allowed to draw on top of the second. Is painting asynchronous when using OLE embedding? If so, is there any way to disable this?
thanks -mike
-- Mike Hearn m.hearn@signal.qinetiq.com QinetiQ - Malvern Technology Center