PureBasic

MenuItem()

Синтаксис

MenuItem(MenuItemID , Text$ [, ImageID])

Описание


Создает новый пункт в текущем Меню.

Параметры

MenuItemID Номер, идентифицирующий этот пункт Меню в событиях и командах типа SetMenuItemState(). Это значение должно быть от 0 до 65535.
Text$ Текст для пункта Меню. В Windows Вы можете использовать специальный символ '&', чтобы подчеркнуть определенную букву:

"&File" отобразит как: File
ImageID (дополн.) Изображение, которое будет отображаться рядом с пунктом меню. Этот параметр действует только в том случае, если текущее Меню было создано с помощью команды CreateImageMenu() или CreatePopupImageMenu(). Корректный идентификатор 'ImageID' можно получить с помощью функции ImageID().

Возвращаемое значение

Ничего.

Комментарии

Чтобы иметь комбинацию клавиш (она будет активирована функцией AddKeyboardShortcut(), за исключением OS X), выровненной в правой части меню (например, "Сохранить Ctrl+S"), используйте символ табуляции, чтобы указать правильную позицию для отображения комбинации клавиш. Символ табуляции имеет ASCII-код 9, поэтому используйте функцию Chr с числом 9, чтобы вставить символ табуляции. Код может выглядеть примерно так:
MenuItem(1, "&Open" + Chr(9) + "Ctrl+O")
Поддерживаемые модификаторы:
  - "Ctrl"  : Клавиша Control 
  - "Shift" : Клавиша Shift 
  - "Alt"   : Клавиша Alt 
  - "Cmd"   : Клавиша Command/Apple (только в OS X)
Модификаторы могут комбинироваться с помощью символа "+": "Сохранить Как" + Chr(9) + "Ctrl+Shift+S". На OS X, когда ярлык создан в Меню, нет никакой необходимости вызывать функцию AddKeyboardShortcut() с помощью этого ярлыка.

MacOS X: пункты 'Quit' ('Выход'), 'Preferences' ('Предпочтения') и 'About' ('О') считаются специальными и должны быть помещены в меню 'Application' ('Приложение'), чтобы приложение имело внешний вид приложений OS X.
PureBasic поддерживает константы #PB_Menu_Quit, #PB_Menu_Preferences и #PB_Menu_About (для указания как 'MenuItemID') для этих пунктов меню.
Когда обнаруживается одна из этих констант, пункт вставляется не в текущее меню, а в меню 'Application' ('Приложение'). Если был указан ярлык, он просто игнорируется и заменяется стандартным. Эти 3 константы не определены на других ОС, чтобы обеспечить гибкую нумерацию в этих ОС.

Примечание: В Windows XP для постоянного подчеркивания символов, снимите флажок "Скрыть подчеркнутые символы для навигации с помощью клавиатуры, пока не будет нажата клавиша Alt". В Windows 7 поставьте флажок в пункте "подчёркивать клавиши быстрого вызова и клавиши доступа", и т.д.

Пример

If OpenWindow(0, 200, 200, 200, 100, "Пример MenuItem")
    If CreateMenu(0, WindowID(0))
        MenuTitle("Проект")
        MenuItem(1, "Открыть") ; Нормальный пункт Меню.
        MenuItem(2, "&Сохранить") ; Пункт с подчеркнутым символом, подчеркивание будет отображаться,
                                  ; только если Меню вызывается с помощью F10 или ALT.
        MenuItem(3, "Выход"+Chr(9)+"Esc") ; Пункт Меню с отдельным текстовым ярлыком.
    EndIf
    Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf

См. также

MenuTitle(), MenuBar(), OpenSubMenu()

Поддерживаемые OS

Все

<- MenuID() - Оглавление Menu - MenuTitle()->