|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
ModifyMenu
The ModifyMenu function changes an existing menu item. This function is used to specify the content, appearance, and behavior of the menu item.
The ModifyMenu function has been superseded by the SetMenuItemInfo function. You can still use ModifyMenu, however, if you do not need any of the extended features of SetMenuItemInfo.
BOOL ModifyMenu(
HMENU hMnu, // handle of menu UINT uPosition, // menu item to modify UINT uFlags, // menu item flags UINT uIDNewItem, // menu item identifier or handle of drop-down menu or submenu LPCTSTR lpNewItem // menu item content );
Parameters
hMnu
Identifies the menu to be changed.
uPosition
Specifies the menu item to be changed, as determined by the uFlags parameter.
uFlags
Specifies flags that control the interpretation of the uPosition parameter and the content, appearance, and behavior of the menu item. This parameter must be a combination of one of the following required values and at least one of the values listed in the following Remarks section.
Value Meaning MF_BYCOMMAND Indicates that the uPosition parameter gives the identifier of the menu item. The MF_BYCOMMAND flag is the default if neither the MF_BYCOMMAND nor MF_BYPOSITION flag is specified. MF_BYPOSITION Indicates that the uPosition parameter gives the zero-based relative position of the menu item.
uIDNewItem
Specifies either the identifier of the modified menu item or, if the uFlags parameter has the MF_POPUP flag set, the handle of the drop-down menu or submenu.
lpNewItem
Points to the content of the changed menu item. The interpretation of this parameter depends on whether the uFlags parameter includes the MF_BITMAP, MF_OWNERDRAW, or MF_STRING flag.
Value Meaning MF_BITMAP Contains a bitmap handle. MF_OWNERDRAW Contains a 32-bit value supplied by an application that is used to maintain additional data related to the menu item. The value is in the itemData member of the structure pointed to by the lparam parameter of the WM_MEASUREITEM or WM_DRAWITEM messages sent when the menu item is created or its appearance is updated. MF_STRING Contains a pointer to a null-terminated string (the default).
Return Values
If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call GetLastError.
Remarks
If ModifyMenu replaces a menu item that opens a drop-down menu or submenu, the function destroys the old drop-down menu or submenu and frees the memory used by it. The application must call the DrawMenuBar function whenever a menu changes, whether or not the menu is in a displayed window. To change the attributes of existing menu items, it is much faster to use the CheckMenuItem and EnableMenuItem functions. The following list describes the flags that may be set in the uFlags parameter:
Value Meaning MF_BITMAP Uses a bitmap as the menu item. The lpNewItem parameter contains the handle of the bitmap. MF_BYCOMMAND Indicates that the uPosition parameter specifies the identifier of the menu item (the default). MF_BYPOSITION Indicates that the uPosition parameter specifies the zero-based relative position of the new menu item. MF_CHECKED Places a check mark next to the item. If your application provides check mark bitmaps (see the SetMenuItemBitmaps function), this flag displays a checked bitmap next to the menu item. MF_DISABLED Disables the menu item so that it cannot be selected, but this flag does not gray it. MF_ENABLED Enables the menu item so that it can be selected and restores it from its grayed state. MF_GRAYED Disables the menu item and grays it so that it cannot be selected. MF_MENUBARBREAK Functions the same as the MF_MENUBREAK flag for a menu bar. For a drop-down menu, submenu, or shortcut menu, the new column is separated from the old column by a vertical line. MF_MENUBREAK Places the item on a new line (for menu bars) or in a new column (for a drop-down menu, submenu, or shortcut menu) without separating columns. MF_OWNERDRAW Specifies that the item is an owner-drawn item. Before the menu is displayed for the first time, the window that owns the menu receives a WM_MEASUREITEM message to retrieve the width and height of the menu item. The WM_DRAWITEM message is then sent to the window procedure of the owner window whenever the appearance of the menu item must be updated. MF_POPUP Specifies that the menu item opens a drop-down menu or submenu. The uIDNewItem parameter specifies the handle of the drop-down menu or submenu. This flag is used to add a menu name to a menu bar or a menu item that opens a submenu to a drop-down menu, submenu, or shortcut menu. MF_SEPARATOR Draws a horizontal dividing line. This flag is used only in a drop-down menu, submenu, or shortcut menu. The line cannot be grayed, disabled, or highlighted. The lpNewItem and uIDNewItem parameters are ignored. MF_STRING Specifies that the menu item is a text string; the lpNewItem parameter points to the string. MF_UNCHECKED Does not place a check mark next to the item (the default). If your application supplies check mark bitmaps (see the SetMenuItemBitmaps function), this flag displays an unchecked bitmap next to the menu item.
The following groups of flags cannot be used together:
· MF_BYCOMMAND and MF_BYPOSITION · MF_DISABLED, MF_ENABLED, and MF_GRAYED · MF_BITMAP, MF_STRING, MF_OWNERDRAW, and MF_SEPARATOR · MF_MENUBARBREAK and MF_MENUBREAK · MF_CHECKED and MF_UNCHECKED
See Also
AppendMenu, CheckMenuItem, DrawMenuBar, EnableMenuItem, SetMenuItemBitmaps, SetMenuItemInfo, WM_DRAWITEM, WM_MEASUREITEM
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
ModifyMenu
Функция ModifyMenu изменяет существующий пункт меню. Эта функция использована, чтобы определять содержимое, появление, и поведение пункта меню.
Функция ModifyMenu заменена функцией SetMenuItemInfo. Вы можете все еще использовать ModifyMenu, тем не менее, если Вам не нужно любая из расширенных характеристик SetMenuItemInfo.
BOOL ModifyMenu(
HMENU hMnu, // РУЧКА меню UINT uPosition, // пункта меню, чтобы модифицировать UINT uFlags, // флаги пункта меню UINT uIDNewItem, // ИДЕНТИФИКАТОР пункта меню или ручки капли-вниз меню или содержимое пункта меню субменю LPCTSTR lpNewItem // );
Параметры
hMnu
Идентифицирует меню, которое нужно изменяться.
uPosition
Определяет пункт меню, который нужно изменять, как определено параметром uFlags.
uFlags
Определяет флаги, которые управляют интерпретацией параметра uPosition и содержимое, появление, и поведением пункта меню. Этот параметр должен быть комбинацией одного из следующего требовавшегося величины и по крайней мере одной из величин указанных в секции Замечаний следующего.
Значение Величины MF_BYCOMMAND Указывает, что параметр uPosition дает идентификатор пункта меню. Флаг MF_BYCOMMAND по умолчанию если ни MF_BYCOMMAND ни флаг MF_BYPOSITION определен. MF_BYPOSITION Указывает, что параметр uPosition дает базирующуюся нулевую относительную позицию пункта меню.
uIDNewItem
Определяет или идентификатор модифицировать пункта меню или, если параметр uFlags имеет флаг MF_POPUP был установлен, ручка капли-вниз меню или субменю.
lpNewItem
Точки на содержимое измененного пункта меню. Интерпретация этого параметра зависит от включает параметр uFlags MF_BITMAP, MF_OWNERDRAW, или флаг MF_STRING.
Значение Величины MF_BITMAP Содержит ручку побитового отображения. MF_OWNERDRAW Содержит 32- битовую величину поставленную приложением, которое использовано, чтобы поддерживать дополнительные данные имело отношение к пункту меню. Величина - в элементе itemData структуры указанной, чтобы параметром lparam WM_MEASUREITEM или сообщения WM_DRAWITEM посылали когда пункт меню создан или появление скорректировано. MF_STRING Содержит указатель в недействительный расторгнутую строку ( по умолчанию).
Обратные Величины
Если функция добивается успеха, обратная величина ненулевая. Если функция терпит неудачу, обратная величина нулевая. Для того, чтобы расширять информацию ошибки, вызовите GetLastError.
Замечания
Если ModifyMenu заменяет пункт меню, который открывает каплю-вниз меню или субменю, функция уничтожает старую каплю-вниз меню или субменю и освобождает память использованную этим. Приложение должно вызвать функцию DrawMenuBar всякий раз, когда меню изменяет, во всяком случае меню - в отображаемом окне. Чтобы изменять атрибуты, существующие пункты меню, это - значительно быстрее, чтобы использовать CheckMenuItem и функции EnableMenuItem. Следующее списка описывает флаги, которые могут быть установлены в параметре uFlags:
Значение Величины MF_BITMAP Использует побитовое отображение как пункт меню. Параметр lpNewItem содержит ручку побитового отображения. MF_BYCOMMAND Указывает, что параметр uPosition определяет идентификатор пункта меню ( по умолчанию). MF_BYPOSITION Указывает, что параметр uPosition определяет базирующуюся нулевую относительную позицию нового пункта меню. MF_CHECKED Устанавливает контрольную отметку около пункта. Если ваше приложение обеспечивает контрольные побитовые отображения отметки (смотри функцию SetMenuItemBitmaps), этот флаг отображает проверенное побитовое отображение около пункта меню. MF_DISABLED Выводит из строя пункт меню чтобы не может быть выбрано, но этот флаг не делает серым это. MF_ENABLED Приспосабливается пункт меню чтобы может быть выбрано и восстановление это из своего grayed состояния. MF_GRAYED Выводит из строя пункт меню и серый это чтобы не может быть выбрано. MF_MENUBARBREAK Функционирует такой же как и флаг MF_MENUBREAK для зоны меню. Для капли-вниз меню, субменю, или сокращенного меню, новый столбец выделен из старого столбца вертикальной строкой. MF_MENUBREAK Устанавливает пункт в новой строке (для строка меню) или в новом столбце (для капли-вниз меню, субменю, или сокращенного меню) не разделяя столбцы. MF_OWNERDRAW Определяет, что пункт является сделанным пунктом владельца. Прежде, чем меню будет отобразиться впервые, окно, которое обладает приемникам меню сообщением WM_MEASUREITEM, чтобы извлекать ширину и высоту пункта меню. Сообщение WM_DRAWITEM - затем посланное в процедуру окна окна владельца всякий раз, когда появление пункта меню должно быть скорректировано. MF_POPUP Определяет, что пункт меню открывает каплю-вниз меню или субменю. Параметр uIDNewItem определяет ручку капли-вниз меню или субменю. Этот флаг использован, чтобы добавлять имени меню к зоне меню или пункт меню, которые открывают субменю в каплю-вниз меню, субменю, или сокращенное меню. MF_SEPARATOR Делает горизонтальным делением строки. Этот флаг используется только в капле-вниз меню, субменю, или сокращенном меню. Линия Не может grayed, выведен из строя, или выделен. lpNewItem И параметры uIDNewItem проигнорированы. MF_STRING Определяет, что пункт меню является текстовой строкой; параметр lpNewItem указывает на строку. MF_UNCHECKED не устанавливает контрольную отметку около пункта ( по умолчанию). Если ваше приложение поставляет контрольные побитовые отображения отметки (смотри функцию SetMenuItemBitmaps), этот флаг отображает неконтролируемое побитовое отображение около пункта меню.
Следующие группы флагов не могут использоваться вместе:
MF_BYCOMMAND и MF_BYPOSITION MF_DISABLED, MF_ENABLED, и MF_GRAYED MF_BITMAP, MF_STRING, MF_OWNERDRAW, и MF_SEPARATOR MF_MENUBARBREAK и MF_MENUBREAK MF_CHECKED и MF_UNCHECKED
Смотри Также
AppendMenu, CheckMenuItem, DrawMenuBar, EnableMenuItem, SetMenuItemBitmaps, SetMenuItemInfo, WM_DRAWITEM, WM_MEASUREITEM
|
|
|
|
| |