[ros-dev] Changes to Menu Set Masking
James Tabor
jimtabor at adsl-64-217-116-74.dsl.hstntx.swbell.net
Tue Jul 18 02:08:06 CEST 2006
Hi,
Okay~ I am finishing up rewriting menu mask setting in win32 and use32. The reason
for so much junk in the menus was due to doing a full mask set for setting nothing
other than "Rect" so if the structure was packed with S$@%! it would keep it and
think it was valid data. MenuGetRosMenuItemInfo was naughty too. It set a full
mask and it was passed to MenuSetRosMenuItemInfo and saved! Until I figured this
out it was two weeks later! So I'm fixing this, Set will be selective and create
errors if the wrong combination is used.
Strings may have;
MIIM_TYPE & MFT_STRING == good
MIIM_STRING & MFT_STRING == good
MIIM_STRING == good
so you might have this -> if ((miiW.fMask & MIIM_STRING) || (IS_STRING_ITEM(miiW.fType)))
and this is good due to there might be one of them.
You can not have.
MIIM_TYPE & MIIM_STRING == bad
MIIM_TYPE & MIIM_FTYPE == bad
MIIM_TYPE & MIIM_BITMAP == bad
MIIM_FTYPE & MFT_BITMAP == bad
just read msdn doc on MENUITEMINFO structure, once you decode their logic it starts to make
sense. Remember one supersedes another.
What a mess,
James
More information about the Ros-dev
mailing list