ModifyMenu функция изменяет существующий элемент меню. Эта функция используется для указания содержимое, внешний вид и поведение элемента меню.
Функция ModifyMenu была заменена функцией SetMenuItemInfo . Можно использовать ModifyMenu, однако, если не требуется каких-либо расширенных функций SetMenuItemInfo.
(BOOL ModifyMenu HMENU hMnu, / / обработать менюUINTuPosition, / / меню пункт изменитьUINTuFlags, / / флаги пункт менюUINTuIDNewItem, / / меню пункт идентификатор или обрабатывать вниз / / меню или подменюLPCTSTRlpNewItem / / меню пункт содержание);
Значение | Значение |
---|---|
MF_BYCOMMAND | Указывает, что параметр uPosition дает идентификатор элемента меню. Флаг MF_BYCOMMAND является значением по умолчанию, если указано ни MF_BYCOMMAND, ни MF_BYPOSITION флаг. |
MF_BYPOSITION | Указывает, что параметр uPosition дает с нуля относительное положение элемента меню. |
Значение | Значение |
---|---|
MF_BITMAP | Содержит дескриптор точечного рисунка. |
MF_OWNERDRAW | Содержит 32-разрядное значение, указанное приложение, которое используется для поддержки дополнительных данных, связанных с элементом меню. Значение находится в ItemData отсутствует члена структуры, который указывает параметр lparam WM_MEASUREITEM или WM_DRAWITEM сообщений, отправленных при создании элемента меню или обновлении его внешний вид. |
MF_STRING | Содержит указатель на ограниченную значением null строку (по умолчанию). |
Если функция выполнена успешно, возвращаемое значение не равно нулю.
Если вызов функции был неуспешен, возвращаемое значение равно нулю. Чтобы получить расширенные сведения об ошибке, вызовите GetLastError.
Если ModifyMenu заменяет элемент меню, который открывает раскрывающееся меню или подменю, функция разрушает старые раскрывающееся меню или подменю и освобождает память, используемую ею.
Для того чтобы сочетания клавиш для работы с точечный рисунок или пункты меню, рисуемого владельцем владелец меню необходимо обработать сообщение WM_MENUCHAR. Дополнительную информацию смотрите меню Owner-Drawn и WM_MENUCHAR сообщение.
Приложение должно вызывать функцию DrawMenuBar всякий раз, когда изменения в меню, является ли меню в появившемся окне. Чтобы изменить атрибуты существующих пунктов меню, это гораздо быстрее, чтобы использовать функции CheckMenuItem и EnableMenuItem.
В следующем списке описываются флаги, которые могут быть заданы в параметре uFlags:
Значение | Значение |
---|---|
MF_BITMAP | Использует растровое изображение в качестве пункта меню. Параметр lpNewItem содержит дескриптор точечного. |
MF_BYCOMMAND | Указывает, что параметр uPosition указывает идентификатор элемента меню (по умолчанию). |
MF_BYPOSITION | Указывает, что параметр uPosition указывает с нуля относительное положение нового пункта меню. |
MF_CHECKED | Помещает флажок рядом с элементом. Если ваше приложение содержит флажок рисунки (см. SetMenuItemBitmaps функция), этот флаг отображается флажками растровое изображение рядом с элементом меню. |
MF_DISABLED | Отключает элемент меню таким образом, чтобы он не может быть выбран, но этот флаг не Грэй его. |
MF_ENABLED | Позволяет активировать пункт меню может быть выбран и восстанавливает его из состояния неактивна. |
MF_GRAYED | Отключает элемент меню и grays, так что он не может быть выбран. |
MF_MENUBARBREAK | Функции же, как MF_MENUBREAK флаг для строки меню. Для меню, вложенного меню или контекстное меню новый столбец отделяется от старого столбца вертикальной линией. |
MF_MENUBREAK | Помещает элемент на новой линии (для строки меню) или в новом столбце (для раскрывающегося меню, вложенного меню или контекстное меню), без разделения столбцов. |
MF_OWNERDRAW | Указывает, что элемент является владельцем элемента. До того, как в первый раз появится меню, окно, которому принадлежит меню получает сообщение WM_MEASUREITEM получить ширину и высоту элемента меню. WM_DRAWITEM затем отправляется сообщение процедуре окна окна-владельца всякий раз, когда необходимо обновить внешний вид элемента меню. |
MF_POPUP | Указывает, что пункт меню открывает раскрывающееся меню или подменю. Параметр uIDNewItem указывает дескриптор в раскрывающемся меню или подменю. Этот флаг используется для добавления имени меню в строке меню или пункт меню, который открывает подменю, в раскрывающемся меню, вложенного меню или контекстное меню. |
MF_SEPARATOR | Рисует горизонтальную разделительную линию. Этот флаг используется только в раскрывающемся меню, вложенного меню или контекстное меню. Линия отображается серым цветом, отключена или невозможно выделены. Параметры lpNewItem и uIDNewItem игнорируются. |
MF_STRING | Указывает, что пункт меню является текстовой строкой; параметр lpNewItem указывает на строку. |
MF_UNCHECKED | Не установить флажок рядом с пунктом (по умолчанию). Если ваше приложение передает флажок рисунки (см. SetMenuItemBitmaps функция), этот флаг отображается неконтролируемого растровое изображение рядом с элементом меню. |
Нельзя совместно использовать следующие группы флагов:
Меню Обзор функций меню, AppendMenu, CheckMenuItem, DrawMenuBar, EnableMenuItem, SetMenuItemBitmaps, SetMenuItemInfo, WM_DRAWITEM, WM_MEASUREITEM