Pedro - 在您的GUI的OpentFcn中,为轴添加一个按钮:
set(handles.axes1,'buttondownfcn',@ axesbuttondowncallback);
回调函数的名称将是
AxesbuttondownCallball.
.回调会看起来像
功能axesbuttondowncallballballballballballballballballballballballballballback(febupt,eventdata)
handles.currentpoint = get(freming,'prestpoint');
Guidata(令人厌流,处理);
我们得到了
历史点
轴的财产(
新奇
)并将其保存到一个领域
把手
结构体。然后我们需要保存更新的结构
指导
.这很重要 - 如果您不这样做,那么其他回调将无法访问我们添加的此字段
把手
.按钮回调将是
功能按钮1_callback(fhref,eventdata,handles)
如果~ isfield(处理,'prestpoint')||isempty(handles.currentpoint)
fprintf('你需要选择一个点!\ n');
别的
crentpoint = handles.currentpoint;
Handles.CurrentPoint = [];
Guidata(令人厌流,处理);
结尾
请注意我们如何检查“ChercotPoint”字段是否存在
把手
结构或如果它确实存在,它是空的。如果要么是真,那么我们提示用户选择一个点(用对话框替换fprintf)。如果我们确实有一个点,那么我们从结构中提取它,然后在结构中重置该字段,以便在下次按下按钮时,将提示用户选择新的点。(请注意,再次致电
指导
很重要。)