keypress_callback.m
来自「应用matlab的GUI功能设计用户图形界面的一些例子.」· M 代码 · 共 59 行
M
59 行
function keypress_callback(hObject,eventdata,handles)
figures=get(0,'userdata');
handles=get(figures.FI,'userdata');
pos=get(handles.ap,'pos');
x=pos(1);y=pos(2);wid=pos(3);hig=pos(4);
key=get(hObject,'KeyPressedCallbackData' );
maxh=(get(handles.uh,'Maximum')-get(handles.uh,'VisibleAmount'));
maxv=(get(handles.uv,'Maximum')-get(handles.uv,'VisibleAmount'));
switch key.keyChar
case 'd' %'rightarrow'
set(handles.uh,'userdata',0);%0标识滚动条value的被动改变
set(handles.uv,'userdata',0);
%redraw(handles.ax);
step=5;
add=wid-1;
value=get(handles.uh,'value')+step;
value=min(value,maxh);
x=-value*add/maxh;
set(handles.ap,'pos',[x,y,wid,hig]);
set(handles.uh,'value',value);
case 'a', %'leftarrow'
set(handles.uh,'userdata',0);%0标识滚动条value的被动改变
set(handles.uv,'userdata',0);
%redraw(handles.ax);
step=5;
add=wid-1;
value=get(handles.uh,'value')-step;
value=max(value,0);
x=-value*add/maxh;
set(handles.ap,'pos',[x,y,wid,hig]);
set(handles.uh,'value',value);
case 'w', %'uparrow'
set(handles.uh,'userdata',0);%0标识滚动条value的被动改变
set(handles.uv,'userdata',0);
%redraw(handles.ax);
step=5;
add=hig-1;
value=get(handles.uv,'value')-step;
value=max(value,0);
y=-(1-value/maxv)*add;
set(handles.ap,'pos',[x,y,wid,hig]);
set(handles.uv,'value',value);
case 's', %'downarrow'
set(handles.uh,'userdata',0);%0标识滚动条value的被动改变
set(handles.uv,'userdata',0);
%redraw(handles.ax);
step=5;
add=hig-1;
value=get(handles.uv,'value')+step;
value=min(value,maxv);
y=-(1-value/maxv)*add;
set(handles.ap,'pos',[x,y,wid,hig]);
set(handles.uv,'value',value);
otherwise,
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?