edit control

George Ginden ginden at email.com
Wed Mar 9 04:58:09 CST 2005

Ulrich Czekalla wrote:

>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.
Hi Ulrich, how is it going with this issue ?

I've noticed that this code paints a perfect edit control, with its 
background color (for the whole area).
4545         es->style      &= ~WS_BORDER;

While the following code in place of the line above, doesn't fill the 
whole edit with the background color, but the area behind the text 
inside the control ONLY.

 4554         if (lpcs->dwExStyle & WS_EX_CLIENTEDGE)
4555             es->style &= ~WS_BORDER;
4556         else if (es->style & WS_BORDER)
4557             SetWindowLongW(hwnd, GWL_STYLE, es->style & ~WS_BORDER);

This is also reletad to 2695.

Thanks !

More information about the wine-devel mailing list