FAQ:WinAPI VCPP:удалить пункт меню — различия между версиями

Материал из Весельчак У
Перейти к: навигация, поиск
(Новая: ===Как удалить из меню пункт?=== Для этого нужно знать ID пункта или его порядковый номер (индекс). Что име...)
 
(нет различий)

Текущая версия на 14:28, 30 июля 2008

Как удалить из меню пункт?

Для этого нужно знать ID пункта или его порядковый номер (индекс). Что именно использовать, указывается флагами MF_BYCOMMAND и MF_BYPOSITION.

//указатель на меню
CMenu *pM = ...;
 
//удаление по ID
pM->DeleteMenu(ID_MyItem,MF_BYCOMMAND);
 
//удаление по известному индексу
//(0 - это первый сверху пункт)
pM->DeleteMenu(5,MF_BYPOSITION);

Обратите внимание, что пункт, имеющий подменю (pop-up), а также разделители (separator) не имеют ID, поэтому их удалить можно только по известному индексу. Отдельно удалять вложенное меню, принадлежащее пункту pop-up, не нужно - онo удалится само.