uIContextMenu

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

Синтаксис

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

Описание

пример

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

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

пример

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

Примечание

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

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

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

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

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

Примеры

свернуть все

Задайте значение для свойства 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, который создает uicontextmenu, содержащий одно меню верхнего уровня и два элемента подменю:

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

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

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

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

свернуть все

Родительская фигура, заданная как объект фигуры.

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

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

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

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

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

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

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

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

Типы данных: function_handle | ячейка | char

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

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

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

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

Советы

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

  • Вы присваиваете uicontextmenu компоненту с помощью свойства UIContextMenu. Присвоенный компонент должен быть дочерним элементом той же фигуры как 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

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