我正在开发一个 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 中,它满足了我的要求!

有帮助吗?

解决方案

类型

>>edit editmenufcn

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

editmenufcn(hFigure, 'EditCopyFigure');

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

稍后编辑

查看代码可能会提示您实现更精细的功能。函数体很大 switch 陈述;寻找 'EditCopyFigure' string 将为您提供您感兴趣的代码片段。但请注意不要修改此函数或保存更改。:-)

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

甚至稍后编辑

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top