uIContextMenu

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

Используйте эту функцию только с GUIDE, или с фигурами, созданными с помощью функции figure.

Синтаксис

c = uicontextmenu
c = uicontextmenu(Name,Value)
c = uicontextmenu(parent)
c = uicontextmenu(parent,Name,Value)

Описание

пример

c = uicontextmenu создает контекстное меню в текущей фигуре и возвращает объект ContextMenu как c. Если фигура не существует, то MATLAB® вызывает функцию figure, чтобы создать ту.

c = uicontextmenu(Name,Value) создает контекстное меню со значениями свойств, заданными с помощью одного или нескольких аргументов пары "имя-значение". Используйте этот синтаксис, чтобы заменить значения свойств по умолчанию.

пример

c = uicontextmenu(parent) создает контекстное меню в заданной родительской фигуре.

Примечание

Определение одного только родительского элемента не делает контекстное меню доступным в пользовательском интерфейсе. Необходимо также сделать эти шаги:

  • Присвойте контекстное меню компоненту с помощью свойства UIContextMenu.

  • Создайте по крайней мере один дочерний uimenu для uicontextmenu.

Смотрите раздел Tips для получения дополнительной информации.

c = uicontextmenu(parent,Name,Value) задает родительскую фигуру для контекстного меню и одного или нескольких аргументов пары "имя-значение".

Примеры

свернуть все

Задайте значение для свойства UIContextMenu объекта линии присоединить uicontextmenu к той строке. Контекстное меню становится видимым, когда пользователь щелкает правой кнопкой по строке. Например, создайте программный файл под названием myprogram.m, который создает график и присоединяет uicontextmenu к сюжетной линии:

function myprogram

    f = figure('WindowStyle','normal');
    ax = axes;
    x = 0:100;
    y = x.^2;

    plotline = plot(x,y);
    c = uicontextmenu;

    % Assign the uicontextmenu to the plot line
    plotline.UIContextMenu = c;

    % Create child menu items for the uicontextmenu
    m1 = uimenu(c,'Label','dashed','Callback',@setlinestyle);
    m2 = uimenu(c,'Label','dotted','Callback',@setlinestyle);
    m3 = uimenu(c,'Label','solid','Callback',@setlinestyle);

        function setlinestyle(source,callbackdata)
            switch source.Label
                case 'dashed'
                    plotline.LineStyle = '--';
                case 'dotted'
                    plotline.LineStyle = ':';
                case 'solid'
                    plotline.LineStyle = '-';
            end
        end
end

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

Выбор элемента из контекстного меню изменяет стиль линии.

Задайте значение свойства Parent любого uimenu, чтобы превратить его в подменю. Например, создайте программный файл под названием myprogram2, который создает контекстное меню, содержащее одно меню верхнего уровня и два элемента подменю:

function myprogram2
    f = figure('WindowStyle','normal');
    c = uicontextmenu(f);

    % Assign the uicontextmenu to the figure
    f.UIContextMenu = c;

    % Create child menu of the uicontextmenu
    topmenu = uimenu('Parent',c,'Label','Change Color');
    
    % Create submenu items
    m1 = uimenu('Parent',topmenu,'Label','Red','Callback',@changecolor);
    m2 = uimenu('Parent',topmenu,'Label','Green','Callback',@changecolor);

    function changecolor(source,callbackdata)
        switch source.Label
            case 'Red'
                f.Color = [1.0 0.80 0.80];
            case 'Green'
                f.Color = [0.80 1.0 0.80];
        end
    end
end

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

Выбор цвета из контекстного меню изменяет цвет окна.

Входные параметры

свернуть все

Родительская фигура, заданная как объект Figure, создается с figure. Если родительская фигура не задана, то MATLAB вызывает функцию figure, чтобы создать ту, которая служит родительским элементом.

Аргументы в виде пар имя-значение

Пример: 'Callback',@myfunction задает myfunction, чтобы быть функцией, которая выполняется, когда пользователь взаимодействует с контекстным меню.

Свойства, перечисленные здесь, являются только подмножеством, поскольку полный список видит ContextMenu Properties.

Функция обратного вызова контекстного меню, заданная как одно из этих значений:

  • Указатель на функцию.

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

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

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

Типы данных: function_handle | cell | char

Дочерние элементы меню, возвращенные как пустой GraphicsPlaceholder или 1D массив объектов Menu. Дочерние элементы меню являются другой этой функцией меню как подменю.

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

Чтобы добавить дочерний элемент в этот список, установите свойство Parent дочернего компонента быть объектом uicontextmenu.

Объекты с набором свойств HandleVisibility к 'off' не перечисляют в свойстве Children.

Советы

Контекстное меню становится доступным в пользовательском интерфейсе, когда эти требования удовлетворяются:

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

  • Вы создаете по крайней мере один дочерний uimenu для uicontextmenu.

Например:

f = figure;
c = uicontextmenu(f);
% Create a new component and assign the uicontextmenu to it
b = uicontrol(f,'UIContextMenu',c);
% Create a child menu for the uicontextmenu
m = uimenu('Parent',c,'Label','Disable');

Смотрите также

Функции

Свойства

Представлено до R2006a

Для просмотра документации необходимо авторизоваться на сайте