delete at runtime Menu item separator  
Author Message
Noggle82





PostPosted: Tue Sep 02 13:54:10 CDT 2003 Top

MFC >> delete at runtime Menu item separator

base on user's level I delete some menu items,
I delete this using something like that

m_menu.DeleteMenu(ID_FILE_PROGRAMA, MF_BYCOMMAND);

my problem is how to delete MuenuItem Separators

because when I delete menu items at run-time some menus
separator are lined together due to the items between
them are erased.

Menu Item Seperator doesn't have ID_xxxxxxx, so how can I
delete it.

thanks in advance for your help,
Eduardo

Visual Studio197  
 
 
Doug





PostPosted: Tue Sep 02 13:54:10 CDT 2003 Top

MFC >> delete at runtime Menu item separator

>base on user's level I delete some menu items,
>I delete this using something like that
>
>m_menu.DeleteMenu(ID_FILE_PROGRAMA, MF_BYCOMMAND);
>
>my problem is how to delete MuenuItem Separators
>
>because when I delete menu items at run-time some menus
>separator are lined together due to the items between
>them are erased.
>
>Menu Item Seperator doesn't have ID_xxxxxxx, so how can I
>delete it.

Look at the MF_BYPOSITION flag, and depending on the function, the various
"ByPosition" parameters. You can iterate over menu items, and use
GetMenuItemInfo to get item properties. CMenu::GetMenuItemCount will give
you the upper bound for your loop.

--
Doug Harrison
Microsoft MVP - Visual C++