Implement SetMenuItemBitmaps and fix bool flags.

svn path=/trunk/; revision=16891
This commit is contained in:
James Tabor 2005-07-30 00:52:22 +00:00
parent af30e6342b
commit 050a6ba318

View file

@ -4327,7 +4327,7 @@ ModifyMenuA(
if(!GetMenuItemInfoA( hMnu, if(!GetMenuItemInfoA( hMnu,
uPosition, uPosition,
(BOOL)!(MF_BYPOSITION & uFlags), (BOOL)(MF_BYPOSITION & uFlags),
&mii)) return FALSE; &mii)) return FALSE;
if(uFlags & MF_BITMAP) if(uFlags & MF_BITMAP)
@ -4397,7 +4397,7 @@ ModifyMenuA(
return SetMenuItemInfoA( hMnu, return SetMenuItemInfoA( hMnu,
uPosition, uPosition,
(BOOL)!(MF_BYPOSITION & uFlags), (BOOL)(MF_BYPOSITION & uFlags),
&mii); &mii);
} }
@ -4424,7 +4424,7 @@ ModifyMenuW(
if(!NtUserMenuItemInfo( hMnu, if(!NtUserMenuItemInfo( hMnu,
uPosition, uPosition,
(BOOL)!(MF_BYPOSITION & uFlags), (BOOL)(MF_BYPOSITION & uFlags),
(PROSMENUITEMINFO) &mii, (PROSMENUITEMINFO) &mii,
FALSE)) return FALSE; FALSE)) return FALSE;
@ -4494,7 +4494,7 @@ ModifyMenuW(
return SetMenuItemInfoW( hMnu, return SetMenuItemInfoW( hMnu,
uPosition, uPosition,
(BOOL)!(MF_BYPOSITION & uFlags), (BOOL)(MF_BYPOSITION & uFlags),
&mii); &mii);
} }
@ -4558,7 +4558,7 @@ SetMenuInfo(
/* /*
* @unimplemented * @implemented
*/ */
BOOL BOOL
STDCALL STDCALL
@ -4569,8 +4569,23 @@ SetMenuItemBitmaps(
HBITMAP hBitmapUnchecked, HBITMAP hBitmapUnchecked,
HBITMAP hBitmapChecked) HBITMAP hBitmapChecked)
{ {
UNIMPLEMENTED; ROSMENUITEMINFO uItem;
return FALSE;
if(!(NtUserMenuItemInfo(hMenu, uPosition,
(BOOL)(MF_BYPOSITION & uFlags), &uItem, FALSE))) return FALSE;
if (!hBitmapChecked && !hBitmapUnchecked)
{
uItem.fState &= ~MF_USECHECKBITMAPS;
}
else /* Install new bitmaps */
{
uItem.hbmpChecked = hBitmapChecked;
uItem.hbmpUnchecked = hBitmapUnchecked;
uItem.fState |= MF_USECHECKBITMAPS;
}
return NtUserMenuItemInfo(hMenu, uPosition,
(BOOL)(MF_BYPOSITION & uFlags), &uItem, TRUE);
} }