(no subject)

Ladislav Sladecek lsla at post.cz
Sat Jul 28 10:44:03 CDT 2001


Alexandre Julliard: 
> I think GetClipBox is correct, the problem is
> that the WM_ERASEBKGND
> handler should not be using it, but
> GetClientRect. You can try this:

Hello Alexandre,

thank you for your reccomendation. Unfortunately the DefWindowProc
improvement does not help, because the default handler newer gets
called in my app. The application (Progress _prowin.exe version 7)
uses custom dialog boxes (forms) and also custom controls. The
controls handle WM_ERASEBKGND themeselves. I have no access to
the sources. What I know about GetClipRect, I know from the trace. I agree
that your method (GetClientRect in the handler) is much better, but I
cannot use it.

I also agree that Windows should return the parent area in GetClipBox
as Wine does.  Unfortunalelly, the Windows do not do that while the
_prowin.exe depends on it. I enclose a simple C example
which I hacked to demonstrate this.  The example displays two red
children in a white parent. The value returned by GetClipBox is
wsprintf-ed.

If you run the binary in the Windows, you will see two properly sized
red rectangles on a white background.  If you run the same binary in
Wine, you will see only one large red child but no white parent
background. If either the CS_PARENTDC or WS_CLIPSIBLINGS gets removed
from my example, both Windows and Wine give identical results.



Regards

Ladislav Sladecek
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Generic.c
Type: text/x-c++
Size: 8046 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-devel/attachments/20010728/6eb6689b/Generic.bin


More information about the wine-devel mailing list