我想连接我的两个axes.handles,以便当鼠标按钮被单击时,另一个也会执行第一个操作。我有一个外部函数,可以在单击鼠标时执行我想要执行的操作。我只需更新GUI中的两个句柄,以便在单击一个轴时它会执行相同的操作。
在主GUI中
function testminiproj_OpeningFcn(hObject, ~, handles, varargin)
handles.output = hObject;
handles.done=0;
guidata(hObject, handles);
setappdata(0,'figureHandle',gcf);
setappdata(gcf,'axesHandle1',handles.axes6);
setappdata(gcf,'axesHandle2',handles.axes7);
这是我的外部函数,它通过调用mousemotion回调到主GUI;
function varargout = mousemotion(this,varargin)
%// get the figure handle from the application main data
figureHandle = getappdata(0,'figureHandle');
%// get the axes handle from the figure data
axesHandle1 = getappdata(figureHandle,'axesHandle1');
%// get the axes handle from the figure data
axesHandle2 = getappdata(figureHandle,'axesHandle2');
global rdata;
if nargin<1
set(gcf,'WindowButtonDownFcn','mousemotion(''down'')');
set(gcf,'WindowButtonUpFcn','mousemotion(''up'')');
set(gcf,'WindowButtonMotionFcn','');
感谢任何帮助。我试图提出这个问题我很难。希望有人能提供帮助。感谢。
答案 0 :(得分:0)
你可以制作一个手柄矢量。像这样:
axesHandles = [axesHandles1; axesHandles2];
set(axesHandles, 'PropertyName', PropertyValue);
这样两个轴的属性值都将设置为PropertyValue
。
答案 1 :(得分:0)
您需要解决并手动找出点击的轴。
实际上并不难。
只需使用图形和轴的Position
属性。