Программный эквивалент действия меню «копировать фигуру»

StackOverflow https://stackoverflow.com//questions/24042730

  •  21-12-2019
  •  | 
  •  

Вопрос

Я разрабатываю приложение Matlab с графическим интерфейсом, которое отображает фигуру с дополнительными элементами пользовательского интерфейса в окне графического интерфейса.Я хотел бы добавить действие меню в меню окна графического пользовательского интерфейса, которое точно дублирует запись стандартного меню окна рисунка «Редактировать | Копировать рисунок», чтобы параметры копирования рисунка «сохранять информацию», «принудительно использовать белый фон» и «сопоставлять рисунок». размер экрана».

Кто-нибудь знает как это сделать?

Спасибо!

РЕДАКТИРОВАТЬ Чтобы добавить то, что сработало

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

% --------------------------------------------------------------------
function CopyFigureMenuItem_Callback(hObject, eventdata, handles)
% hObject    handle to CopyFigureMenuItem (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
editmenufcn(handles.figure1, 'EditCopyFigure');

Почти наверняка он не ориентирован на будущее и не гарантированно будет работать в какой-либо будущей версии, но в R2014a он делает то, что я хочу!

Это было полезно?

Решение

Тип

>>edit editmenufcn

в командной строке Matlab, чтобы увидеть все программные вызовы меню редактирования.Судя по всему, вы ищете:

editmenufcn(hFigure, 'EditCopyFigure');

Конечно, hFigure должен быть дескриптором фигуры, которую вы хотите скопировать.

Позже отредактировать

Просмотр кода может дать вам подсказки по реализации более совершенных функций.Тело функции представляет собой огромный switch заявление;находясь в поиске 'EditCopyFigure' string предоставит вам интересующий вас фрагмент кода.Однако будьте осторожны, не изменяйте эту функцию и не сохраняйте изменения.:-)

Однако эта функция недокументирована и может быть изменена/удалена в более поздних версиях.Надеюсь, вас это не беспокоит.

Еще позже отредактирую

Видимо, вышеизложенное не является ответом на вопрос.Ответ будет «Да, есть по крайней мере один, кто умеет это делать». :-)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top