exponenta event banner

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

Примечание

Среда GUIDE будет удалена в следующей версии. После удаления GUIDE существующие приложения GUIDE будут продолжать работать в MATLAB ®, но они не будут редактироваться в GUIDE.

Чтобы продолжить редактирование существующего приложения GUIDE, см. раздел Стратегии миграции GUIDE для получения информации о том, как поддерживать совместимость приложения с будущими выпусками MATLAB. Чтобы создать новые приложения в интерактивном режиме, разработайте приложения с помощью App Designer.

Для создания строк меню (содержащих раскрывающиеся меню), а также контекстных меню, присоединяемых к компонентам, можно использовать команду ПРОВОДНИК. Оба типа меню можно создать с помощью редактора меню. Откройте редактор меню из меню «Сервис» или нажмите кнопку «Редактор меню».

Меню для строки меню

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

Влияние меню на стыковку фигур

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

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

Чтобы отобразить стрелку стыковки и пункт меню «Рабочий стол» > «Закрепить фигуру», используйте инспектор свойств для задания свойства фигуры DockControls кому 'on'. Необходимо также установить MenuBar и/или ToolBar свойства фигуры для 'figure' для отображения элементов управления стыковкой.

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

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

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

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

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

Примечание

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

Дополнительные сведения см. в разделе DockControls, MenuBar, ToolBar, и WindowStyle описания свойств в окне «Свойства рисунка».

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

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

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

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

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

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

  1. Запустите новое меню, нажав кнопку «Создать меню» на панели инструментов. Заголовок меню, Untitled 1, появляется в левой панели диалогового окна.

    По умолчанию при открытии редактора меню GUIDE выбирает вкладку «Строка меню».

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

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

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

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

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

Используйте инструмент «Создать пункт меню» для создания пунктов меню, отображаемых в раскрывающемся меню.

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

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

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

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

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

  • При первом открытии меню установите флажок «Флажок» рядом с пунктом меню. Проверка показывает текущее состояние пункта меню. См. пример в разделе Добавление элементов в контекстное меню.

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

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

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

  • Откройте инспектор свойств, в котором можно изменить все свойства меню, нажав кнопку «Дополнительные свойства». Дополнительные сведения о свойствах см. в разделе Свойства меню.

Сведения о программировании и основные примеры см. в разделах Пункт меню и Как обновить пункт меню Проверка.

Дополнительные раскрывающиеся меню

Для создания дополнительных раскрывающихся меню используйте кнопку «Создать меню» таким же образом, как при создании File меню. Например, следующий рисунок также показывает Edit раскрывающееся меню.

Каскадные меню

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

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

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

При запуске приложения заголовки меню отображаются в строке меню.

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

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

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

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

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

  1. Перейдите на вкладку «Контекстные меню» редактора меню и нажмите кнопку «Создать контекстное меню» на панели инструментов.

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

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

Кнопка «Создать пункт меню» используется для создания пунктов меню, отображаемых в контекстном меню.

  1. Добавить Blue background color пункт меню в меню путем выбора axes_context_menu и выберите инструмент «Создать пункт меню». Временная пронумерованная метка пункта меню, Untitled, появляется.

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

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

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

  • При первом открытии меню установите флажок «Флажок» рядом с пунктом меню. Проверка показывает текущее состояние пункта меню. См. пример в разделе Добавление элементов в контекстное меню. Пример кода см. в разделе Обновление проверки элементов меню.

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

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

    Можно также ввести команду в поле Обратный вызов. Это может быть любое допустимое выражение или команда 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 независимо от того, к какому объекту присоединено контекстное меню.

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

    Дополнительные сведения об указании этого поля и о программировании пунктов меню см. в разделе Пункт меню.

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

  • Откройте инспектор свойств, в котором можно изменить все свойства меню, кроме обратного вызова, нажав кнопку «Дополнительные свойства». Дополнительные сведения об этих свойствах см. в разделе Свойства ContextMenu.

Связывание контекстного меню с объектом

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

  2. Используйте инспектор свойств для установки объектов ContextMenu с именем требуемого контекстного меню.

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

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

Сведения о программировании и основные примеры см. в разделе Обновление проверки элементов меню.

Связанные темы