登录论坛

查看完整版本 : [求助]Toolbar中button按下时对于keypress事件的响应问题


sokinge
2007-08-27, 21:15
我想做一个界面程序,当在figure中按某一快捷键时(比如说F2),程序能够在data cursor的不同状态之间切换。
主要是通过设置界面figure的KeyPressFcn而实现,判断是否有快捷键(F2)按下,如果有,则在figure的KeyPressFcn回调函数中执行
datacursormode(hfig, 'on');
然后光标就便成取数据的十字型了。但是这个时候问题就来了,程序figure的KeyPressFcn似乎在取数据的情况下被屏蔽了(其它几个Toolbar上的按钮zoom、pan等也会有类似的情况),再也无发执行了。而我想要实现的功能就是,在这种情况下按F2,光标就会便成正常模式,也就是执行datacursormode(hfig, 'off');
各位大侠,这个问题如何解决?

附问题程序:

function TestCursor

hfig = figure('Visible', 'on', ...
'MenuBar', 'figure', ...
'ToolBar', 'figure', ...
'KeyPressFcn', @hfig_KeyPressFcn);

function hfig_KeyPressFcn(hObject, eventdata)
switch eventdata.Key
case 'f2'
datacursormode;
otherwise
return;
end
end

end

jackcgz
2008-05-14, 10:26
callback:biggrin: