- Accept MFT_MENU{BAR}BREAK, MFT_RADIOCHECK, MFT_RIGHTJUSTIFY, and
MFT_RIGHTORDER in SetMenuItemInfo.
- InsertMenu, AppendMenu, ModifiyMenu: Accept MF_HILITE flag (undocumented).
- SetMenuItemInfo: Only use the lower word of the bitmap handle as
documented in MSDN (Word 95 depends on this).
- The type MFT_RADIOCHECK cannot be set if only the checkmarks are
modified with SetMenuItemInfo.
- New tests.
- Open large popup menus on the other side only if there's enough space
- Open popup menus such that the y position of the first item in the
popup menu is the same as the y position of the focused menu item.
- do not add extra space; modify the tests to confirm this;
- right flush to the menu tab stop, not to the menu border;
- small fixes to the menu tab stop calculation.
- check mark is drawn left of a bitmap;
- if a MNS_CHECKORBMP-style menu has a checkmark, do no draw any bitmap;
- space for the popup arrow is also reserved for non popup items;
- implement the MNS_NOCHECK style.
- Use DrawText in stead of GetTextExtendPoint32, to properly measure
strings with ampersands like "&File";
- Fix mess with strings with an embedded tab;
- In case of a menu bar, two extra pixels are added if the item has
both a bitmap and string.
- Move sending WM_MEASUREITEM message for HBMMENU_CALLBACK bitmaps to
MENU_GetBitmapItemSize();
- Save the received bitmap size in the menu item structure as it will
need to be sent in the WM_DRAWITEM message;
- Move sending WM_DRAWITEM message for HBMMENU_CALLBACK bitmaps to
MENU_DrawBitmapItem();
- This also means that HBMMENU_CALLBACK bitmaps are now supported in
menu bars.
Store bitmaps and bitmaps always in separate fields in the internal
menu structure. Get rid of a lot of assumptions in the code that the
menu can have strings only when it is not some other type and that
bitmaps come in two flavors.
Add a lot of conformance tests, including some submitted by Jason
Edmeades.
hbmpItem = HBMMENU_CALLBACK, move the drawing origin to the top left
of the item rectangle
- at the same time also make sure that the itemState field of the
DRAWITEMSTRUCT is properly initialized
- do the drawing of the check mark before sending the WM_DRAWITEM
message, some application likes to "overdraw" the checkmark.
- Correct width calculation of owner drawn menu items;
- Set the height value in the MEASUREITEM struct to the same value as
Windows (NT/2k/XP) does (problem debugged by Felix Nawothnig);
- Add tests for the fixes above;
- Also add tests for menu bars with owner drawn items.
- EnableMenuItem should not generate WM_WINDOWPOSCHANGING message.
- Make nonclient code check for presence of SC_CLOSE, not CS_NOCLOSE
window class style.
- Add a test case.