Шаг 586 - CMenu::ModifyMenu

BOOL ModifyMenu( UINT nPosition, UINT nFlags,
	UINT nIDNewItem = 0, LPCTSTR lpszNewItem = NULL );
BOOL ModifyMenu( UINT nPosition, UINT nFlags,
	UINT nIDNewItem, const CBitmap* pBmp );

Возвращаемое значение
Отлично от нуля если функция успешна, иначе 0.

Параметры
nPosition
Определяет пункт меню который будет изменен. nFlags параметр может использоваться, чтобы интерпретировать nPosition следующими способами:

nFlags
Определяет, как nPosition интерпретируется и дает информацию относительно изменений, которые будут сделаны к пункту меню. Для списка флажков, которые могут быть установлены, см. AppendMenu функцию.
nIDNewItem
Определяет или команду ID изменяемого пункта меню или, если nFlags установлен к MF_POPUP, дескриптор всплывающего меню (HMENU). nIDNewItem параметр игнорируется (не необходимый) если nFlags установлен к MF_SEPARATOR.
lpszNewItem
Определяет содержание нового пункта меню. nFlags параметр может использоваться, чтобы интерпретировать lpszNewItem следующими способами:

pBmp
Указатель на объект CBitmap, который будет использоваться как пункт меню.

Замечания
Изменяет существующий пункт меню в позиции, определенной nPosition. Прикладная программа определяет новое состояние пункта меню, устанавливая значения в nFlags. Если эта функция заменяет всплывающее меню связанные пункты меню, это уничтожает старое всплывающее меню и освобождает память используемую меню.
Когда nIDNewItem определяет всплывающее меню это становится частью меню, в которое это вставлено. Если то меню разрушено, вставленное меню будет также разрушено. Вставленное меню должно отсоединиться из объекта CMenu, чтобы избежать конфликта.
Всякий раз, когда меню, которое постоянно находится в окне, изменено (отображается или нет окно), прикладная программа должна вызвать CWnd::DrawMenuBar. Чтобы изменять(заменять) атрибуты существующих пунктов меню, намного быстрее использовать CheckMenuItem и EnableMenuItem функции.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 20.01.2002