程序化等同于“复制图”'菜单动作

时间:2014-06-04 16:25:30

标签: matlab matlab-guide

我正在开发一个Matlab GUI应用程序,用于在GUI窗口中绘制带有其他UI元素的图形。我想在GUI窗口菜单中添加一个菜单操作,它完全复制标准图形窗口菜单的“编辑|复制图”条目,以便复制图选项“保存信息”,“强制白色背景”和“匹配图”屏幕尺寸'可以应用。

有谁知道怎么做?

谢谢!

编辑添加有效的内容

我没有尝试复制/修改/粘贴图窗口菜单处理程序中的代码,而是从GUI菜单函数中调用它

% --------------------------------------------------------------------
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中,它可以满足我的需求!

1 个答案:

答案 0 :(得分:1)

类型

>>edit editmenufcn

在Matlab命令提示符下查看编辑菜单的所有编程调用。显然你在寻找的是:

editmenufcn(hFigure, 'EditCopyFigure');

当然,hFigure应该是您要复制的图形的句柄。

稍后修改

窥探代码可能会为您提供实现更精细功能的提示。函数体是一个巨大的switch语句;查找'EditCopyFigure'字符串将为您提供您感兴趣的代码段。但请注意不要修改此功能或保存更改。 : - )

但是,此功能未记录,可能会在以后的版本中更改/删除。我希望你不要为此烦恼。

以后编辑

显然以上不是问题的答案。答案是"是的,至少有一个人知道如何做到这一点。" : - )