open

Открытое контекстное меню в местоположении в фигуре пользовательского интерфейса

Синтаксис

Описание

пример

open(cm,x,y) открывает контекстное меню cm в заданном (x, y) координирует в фигуре пользовательского интерфейса, к которой это порождается. Координаты измеряются в пикселях от нижнего левого угла фигуры. Фигура должна быть той, которая создается с uifigure функция.

open(cm,coord) задает пиксельные координаты как двухэлементный векторный coord. Например, open(cm,[100 150]) открывает контекстное меню cm в координатах (100,150).

Примеры

свернуть все

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

fig = uifigure;

cm = uicontextmenu(fig);
m1 = uimenu(cm,'Text','Import Data');
m2 = uimenu(cm,'Text','Export Data');

fig.ContextMenu = cm;

Затем откройте контекстное меню в местоположении (250,250).

open(cm,250,250)

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

Во-первых, создайте программный файл под названием openCtxtMenu.m. В программном файле:

  • Создайте оси пользовательского интерфейса в фигуре пользовательского интерфейса и отобразите данные на графике в осях.

  • Создайте контекстное меню с одним подменю в фигуре пользовательского интерфейса.

  • Установите WindowButtonDownFcn свойство к функции обратного вызова под названием onButtonDown.

  • Создайте функцию обратного вызова под названием onButtonDown. В нем определите, является ли выбор щелчком правой кнопкой путем запроса SelectionType свойство фигуры пользовательского интерфейса. Когда щелчок правой кнопкой произойдет, получите x-и y-координаты указателя мыши от CurrentPoint свойство. x-и y-координаты являются первыми и вторыми элементами вектора, который он возвращает. Затем откройте контекстное меню в тех координатах. Когда другие типы выбора происходят, отображают сообщение в Командном окне.

function openCtxtMenu
fig = uifigure;
ax = uiaxes(fig);
plot(ax,magic(5));

cm = uicontextmenu(fig);
m = uimenu(cm,'Text','Menu1');

fig.WindowButtonDownFcn = @onButtonDown;

    function onButtonDown(src,event)
        clickType = src.SelectionType;

        switch clickType
            case 'alt'
            x = src.CurrentPoint(1);
            y = src.CurrentPoint(2);
            open(cm,x,y)

            otherwise
            disp('Right-click to view context menu')
        end

    end

end

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

openContextMenu

UI figure window with a UI axes. The mouse pointer is over the axes, and there is a context menu next to the pointer.

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

свернуть все

Объект контекстного меню создается с uicontextmenu функция.

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

y- в виде целого числа в пикселях от базового края фигуры. Если вы зададите значение, которое превышает высоту фигуры, то контекстное меню не отобразится.

Пиксель координирует в виде двухэлементного вектора-строки из целочисленных значений.

Пример: [100 150] указывает, что пиксель координирует (100,150).

Советы

  • Закройте контекстное меню путем нажатия клавиши или щелчка мышью за пределами контекстного меню. Вы не можете закрыть контекстное меню программно.

Алгоритмы

ContextMenuOpeningFcn функции обратного вызова не выполняются, когда вы вызываете open функция. Функции обратного вызова инициированы взаимодействием с пользователем только.

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

Введенный в R2020a