On Wed, Sep 15, 2004 at 06:27:11PM +0100, Robert Shearman wrote:
Ulrich Czekalla wrote:
Running some tests under WinXP I noticed that if the edit control doesn't have WS_EX_CLIENTEDGE it looses the WS_BORDER style and it handles painting the border. This also has the side effect that it's non-client area goes to zero.
ChangeLog: Ulrich Czekalla ulrich@codeweavers.com Handle painting the border if WS_EX_CLIENTEDGE is not set
This changelog doesn't really seem to match the patch. Are you sure it's right?
Yes. Currently the code always removes its internal WS_BORDER flag so it doesn't paint its own border. Basically it leaves it to the default nonclient handler. But it should only do this if WS_EX_CLIENTEDGE is set. Otherwise it removes the WS_BORDER style and paints the border itself.
The SetWindowLong call is necessary otherwise the default non-client code will allocate non-client space for the border and we don't want that. We want to handle the border ourselves.
I'm working on an app that relies on this behaviour.
/Ulrich