Window menu

Dmitry Timoshkov dmitry at baikal.ru
Tue Jan 7 20:36:21 CST 2003


"Duane Clark" <dclark at akamail.com> wrote:

> Changelog:
> A window with a WS_EX_APPWINDOW extended style can also
> get a menu.

[skipped]

>      /* Set the window menu */
>  
> -    if ((wndPtr->dwStyle & (WS_CAPTION | WS_CHILD)) == WS_CAPTION )
> +    if ((wndPtr->dwStyle & WS_CAPTION || wndPtr->dwExStyle & WS_EX_APPWINDOW)
> +        && !( wndPtr->dwStyle & WS_CHILD) )

Sorry for the late response, but this doesn't look right to me.
First of all check for WS_CAPTION should be if ((dwStyle & WS_CAPTION) == WS_CAPTION)
because WS_CAPTION is a two bit style. Next, apparently menu can be assigned
only for a window that has a caption and not is a child. If for some reason
in your case a window has no WS_CAPTION style set (even after all style
corrections) then it's a bug in Wine and it should be found and fixed.

I would suggest to write a conformance test for this, which will create windows
with various styles, check whether they have a caption (by comparing client and
window rectangles), then try to set a menu for a window.

-- 
Dmitry.






More information about the wine-devel mailing list