Создание меню для приложений GUIDE

Можно использовать GUIDE, чтобы создать панели меню (содержащий выпадающие меню), а также контекстные меню, которые вы присоединяете к компонентам. Можно создать оба типа меню с помощью Редактора меню. Доступ к Редактору меню из меню Tools или нажимает кнопку Menu Editor.

Меню для панели меню

Когда вы создаете выпадающее меню, GUIDE добавляет свой заголовок на панель меню. Затем можно создать пункты меню для того меню. Каждый пункт меню может иметь подменю, также известное как подменю, и эти элементы могут иметь подменю и так далее.

Как меню влияют на закрепление изображения

По умолчанию, когда вы создаете пользовательский интерфейс с GUIDE, это не создает панель меню для того пользовательского интерфейса. Вам не могут быть нужны меню для вашего пользовательского интерфейса, но если вы хотите, чтобы пользователь смог прикрепить или расстыковать окно UI, он должен содержать панель меню или панель инструментов. Это вызвано тем, что прикреплением управляют прикрепляющийся значок, маленькая кривая стрелка около верхнего правого угла панели меню или панели инструментов, когда следующая иллюстрация показывает.

Окна фигуры с панелью стандартного меню также имеют меню Desktop, из которого пользователь может прикрепить и расстыковать их.

Чтобы отобразить прикрепляющуюся стрелку и пункт меню Desktop> Dock Figure, используйте Инспектор свойств, чтобы установить свойство DockControls фигуры на 'on'. Необходимо также установить MenuBar и/или свойства ToolBar фигуры к 'figure' отображать прикрепляющиеся средства управления.

Свойство WindowStyle фигуры также влияет на прикрепляющееся поведение. Значением по умолчанию является 'normal', но если вы изменяете его на 'docked', затем следующее применяется:

  • Окно UI открывается прикрепленный в рабочем столе, когда вы запускаете его.

  • DockControls свойство установлено в 'on' и не может быть выключен, пока WindowStyle больше не устанавливается в 'docked'.

  • Если вы расстыкуете окно UI, созданное с WindowStyle 'docked', он будет иметь не, имеют прикрепляющуюся стрелку, если фигура не отображает панель меню или панель инструментов (или стандарт или настроенный). Когда это не имеет никакой стрелки прикрепления, пользователи могут расстыковать его с рабочего стола, но будут не мочь повторно прикрепить его там.

Однако, когда вы обеспечиваете свою собственную панель меню или панель инструментов с помощью GUIDE, это может отобразить прикрепляющуюся стрелку, если вы хотите, чтобы окно UI было прикрепляемо. Смотрите следующие разделы и Создайте Панели инструментов для GUIDE UI для деталей.

Примечание

UIs, которые являются модальными диалоговыми окнами (фигуры с набором WindowStyle к 'modal') не могут иметь панелей меню, панелей инструментов или прикрепляющихся средств управления.

Для получения дополнительной информации смотрите DockControls, MenuBar, ToolBar и описания свойства WindowStyle в Figure Properties.

Добавление стандартных меню к панели меню

Фигура свойство MenuBar управляет, отображает ли ваш пользовательский интерфейс стандартные меню MATLAB® на панели меню. GUIDE первоначально устанавливает значение MenuBar к none. Если вы хотите, чтобы ваш пользовательский интерфейс отобразил стандартные меню MATLAB, используйте Инспектор свойств, чтобы установить MenuBar на figure.

  • Если значением MenuBar является none, GUIDE автоматически добавляет панель меню, которая отображает только меню, которые вы создаете.

  • Если значением MenuBar является figure, пользовательский интерфейс отображает стандартные меню MATLAB, и GUIDE добавляет меню, которые вы создаете к правой стороне панели меню.

В любом случае можно позволить пользователю прикрепить и расстыковать окно путем установки свойства DockControls фигуры на 'on'.

Создание меню

  1. Запустите новое меню путем нажатия на New Menu button на панели инструментов. Заголовок меню,  Untitled 1, появляется на левой панели диалогового окна.

    Примечание

    По умолчанию GUIDE выбирает вкладку Menu Bar, когда вы открываете Редактор меню.

  2. Кликните по заголовку меню, чтобы отобразить выбор свойств меню на правой панели.

  3. Заполните Текстовые поля и Поля метки для меню. Например, установите текст на File и установите Тег на file_menu. Щелкните вне поля для изменения, чтобы вступить в силу.

    Текст является текстовой меткой для пункта меню. Чтобы отобразиться & символ в метке, используйте два символа &. Слова remove, default и (чувствительный к регистру) factory резервируются. Чтобы использовать один из них как метки, предварительно ожидайте символ наклонной черты влево (\). Например, урожаи \remove удаляют.

    Тег является вектором символа, который служит идентификатором для объекта меню. Это используется в коде, чтобы идентифицировать пункт меню и должно быть уникально в вашем файле кода.

Добавление элементов к меню

Используйте инструмент New Menu Item, чтобы создать пункты меню, которые отображены в выпадающем меню.

  1. Добавьте пункт меню Open под File путем выбора File, затем нажимающего кнопку New Menu Item на панели инструментов. Появляется временная пронумерованная метка пункта меню, Untitled.

  2. Заполните Текстовые поля и Поля метки для нового пункта меню. Например, установите текст на Open и установите Тег на menu_file_open. Щелкните вне поля для изменения, чтобы вступить в силу.

Вы можете также

  • Выберите акселератор алфавитной клавиатуры для пункта меню со всплывающим меню Accelerator. В сочетании с Ctrl это - эквивалент клавиатуры для пункта меню, который не имеет нижестоящего меню. Обратите внимание на то, что некоторые акселераторы могут использоваться для других целей в вашей системе и что другие действия могут закончиться.

  • Отобразите разделитель выше пункта меню путем проверки Разделителя выше этого элемента.

  • Отобразите проверку рядом с пунктом меню, когда меню будет сначала открыто путем проверки Галочки этот элемент. Проверка указывает на текущее состояние пункта меню. Смотрите, что пример в Добавление элементов к Контекстному меню.

  • Включите этот элемент, когда меню сначала открыто проверкой, Включают этот элемент. Это позволяет пользователю выбирать этот элемент, когда меню сначала открыто. Если вы очищаете эту опцию, пункт меню появляется, потускнел, когда меню сначала открыто, и пользователь не может выбрать его.

  • Задайте Функцию обратного вызова, которая выполняется, когда пользователи выбирают пункт меню. Если вы еще не сохранили пользовательский интерфейс, значением по умолчанию является %automatic. Когда вы сохраняете пользовательский интерфейс, и если вы не изменили это поле, GUIDE автоматически устанавливает значение с помощью комбинации Поля метки и имени файла пользовательского интерфейса. См. Пункт меню для получения дополнительной информации об определении этого поля и для программирования пунктов меню.

    Кнопка View отображает обратный вызов, если существует один в редакторе. Если вы еще не сохранили пользовательский интерфейс, GUIDE предлагает вам сохранять его.

  • Откройте Инспектор свойств, где можно изменить все свойства меню путем нажатия на More Properties button. Для получения дальнейшей информации о свойствах, смотрите Свойства меню.

Примечание

См. Пункт меню и Как Обновить Проверку Пункта меню на программную информацию и основные примеры.

Дополнительные выпадающие меню

Чтобы создать дополнительные выпадающие меню, используйте Новую Кнопку меню таким же образом, вы сделали, чтобы создать меню File. Например, следующие данные также показывают Edit выпадающее меню.

Подменю

Чтобы создать подменю, выберите пункт меню, который будет заголовком для подменю, затем нажать кнопку New Menu Item. В примере ниже, Edit является подменю.

Примечание

См. Пункт меню для получения информации о программировании пунктов меню.

Следующая иллюстрация Редактора меню показывает три меню, заданные для панели меню фигуры.

Когда вы запускаете приложение, заголовки меню появляются в панели меню.

Контекстные меню

Контекстное меню отображено, когда пользователь щелкает правой кнопкой по объекту, для которого задано меню. Редактор меню позволяет вам задать контекстные меню и сопоставить их с объектами в размещении. Процесс имеет три шага:

Примечание

См. Меню для Панели меню для получения информации об определении меню в целом. См. Пункт меню для получения информации об определении локальных функций обратного вызова для ваших меню.

Создание родительского меню

Все элементы в контекстном меню являются дочерними пунктами меню, который не отображен на панели меню фигуры. Задавать родительское меню:

  1. Выберите вкладку Menu Editor's Context Menus и нажмите кнопку New Context Menu от панели инструментов.

  2. Выберите меню, и в Поле метки вводят тег контекстного меню (axes_context_menu в этом примере).

Добавление элементов к контекстному меню

Используйте кнопку New Menu Item, чтобы создать пункты меню, которые отображены в контекстном меню.

  1. Добавьте пункт меню Blue background color к меню путем выбора axes_context_menu и нажатия на инструмент New Menu Item. Появляется временная пронумерованная метка пункта меню, Untitled.

  2. Заполните Текстовые поля и Поля метки для нового пункта меню. Например, установите текст на Blue background color и установите Тег на blue_background. Щелкните вне поля для изменения, чтобы вступить в силу.

Можно также изменить пункты меню этими способами:

  • Отобразите разделитель выше пункта меню путем проверки Разделителя выше этого элемента.

  • Отобразите проверку рядом с пунктом меню, когда меню будет сначала открыто путем проверки Галочки этот элемент. Проверка указывает на текущее состояние пункта меню. Смотрите, что пример в Добавление элементов к Контекстному меню. Смотрите, Как Обновить Проверку Пункта меню на пример кода.

  • Включите этот элемент, когда меню сначала открыто проверкой, Включают этот элемент. Это позволяет пользователю выбирать этот элемент, когда меню сначала открыто. Если вы очищаете эту опцию, пункт меню появляется, потускнел, когда меню сначала открыто, и пользователь не может выбрать его.

  • Задайте Обратный вызов для меню, которое выполняет действие, сопоставленное с пунктом меню. Если вы еще не сохранили пользовательский интерфейс, значением по умолчанию является %automatic. Когда вы сохраняете пользовательский интерфейс, и если вы не изменили это поле, GUIDE автоматически создает обратный вызов в файле кода с помощью комбинации Поля метки и имени файла пользовательского интерфейса. Имя обратного вызова не отображается в поле Callback Редактора меню, но выбор пункта меню действительно инициировал его.

    Можно также ввести команду в поле Callback. Это может быть любое допустимое выражение MATLAB или команда. Например, эта команда

    set(gca, 'Color', 'y')
    выбирает цвет фона текущей системы координат к желтому. Однако предпочтительный подход к выполнению этой операции должен поместить обратный вызов в файл кода. Это избегает использования gca, который не всегда надежен, когда несколько фигур или осей существуют. Вот версия этого обратного вызова, закодированного как функция в файле кода:
    function axesyellow_Callback(hObject, eventdata, handles)
    % hObject    handle to axesyellow (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    set(handles.axes1,'Color','y')
    Это кодовые наборы цвет фона осей с Тегом axes1, неважно, к тому, к чему присоединен объект контекстное меню.

    Если вы вводите значение обратного вызова в Редактор меню, это заменяет обратный вызов для элемента в файле кода, если кто-либо был сохранен. Если вы удаляете значение, которое вы ввели в поле Callback, обратный вызов для элемента в файле кода выполняется, когда пользователь выбирает тот элемент в пользовательском интерфейсе.

    См. Пункт меню для получения дополнительной информации об определении этого поля и для программирования пунктов меню. Для другого примера программирования контекстных меню в GUIDE см., что Приложение GUIDE Содержит Таблицы и Графики.

    Кнопка View отображает обратный вызов, если существует один в редакторе. Если вы еще не сохранили пользовательский интерфейс, GUIDE предлагает вам сохранять его.

  • Откройте Инспектор свойств, где можно изменить все свойства меню кроме обратных вызовов путем нажатия на More Properties button. Для получения дальнейшей информации об этих свойствах, смотрите ContextMenu Properties.

Соединение контекстного меню с объектом

  1. В Редакторе макетов выберите объект, для которого вы задаете контекстное меню.

  2. Используйте Инспектор свойств, чтобы установить свойство UIContextMenu этого объекта на имя желаемого контекстного меню.

Следующие данные показывают свойство UIContextMenu для объекта axes со свойством Tag axes1.

В файле кода завершите локальную функцию обратного вызова для каждого элемента в контекстном меню. Каждый обратный вызов выполняется, когда пользователь выбирает связанный элемент контекстного меню. См. Пункт меню для получения информации об определении синтаксиса.

Примечание

См. Пункт меню и Как Обновить Проверку Пункта меню на программную информацию и основные примеры.

Похожие темы

Была ли эта тема полезной?