Я создаю графический интерфейс в MATLAB и в настоящее время добавляю пользовательские меню, используя uimenu
. Я пытаюсь добавить разные ускорители к разным действиям в меню.
Я обнаружил, что передача char(10)
(новая строка) в качестве символа ускорителя в uimenu
(см. ниже) Matlab добавляет Ctrl+ Enter
в качестве метки ускорителя этого меню. Проблема в том, что он не запустит обратный вызов, когда я нажму Ctrl+ Enter
.
Любые идеи, почему это не работает? Я что-то упускаю? Отменяет ли мой вызов Ctrl+ Enter
для "запустить текущий раздел"? В таком случае, могу ли я переопределить его?
Пример
Быстрый демонстративный пример того, как MATLAB не примет Ctrl+ Enter
function test
close all
f=figure;
m=uimenu(f,'Label','test');
uimenu(m,'Label','a','callback',@hittest,'Accelerator','r');
uimenu(m,'Label','b','callback',@hittest,'Accelerator',char(10));
function hittest(h,~)
disp(h.Label)
end
end
-nodesktop
. Я думаю, это нормально, так как он будет развернут, когда я закончу с ним. Есть идеи, можно ли заставить его работать даже в режиме рабочего стола? - person Skogsv   schedule 01.08.2016