getmousepointer.m

来自「用matlab程序编写的一个捕捉鼠标坐标的小程序」· M 代码 · 共 36 行

M
36
字号
function GetMousePointer 
global handles
clc
close all
hMainFig=figure('name','鼠标捕捉点坐标','number','off','menubar','none',...
    'units','normalized','tag','hMainFig');
set(hMainFig,'units','normalized','position',[.2,.2,.6,.6]);
set(hMainFig,'defaultuicontrolfontname','隶书');
set(hMainFig,'defaultuicontrolfontsize',13);
set(hMainFig,'defaultuicontrolunits','normalized');
hAxes=axes('position',[.15,.2,.8,.7]);
ezplot('x');  
set(hMainFig,'pointer','cross');  
set(hMainFig,'WindowButtonMotionFcn',@ShowPointData);  
hText11=uicontrol(hMainFig,'style','text','position',[.05,.05,.1,.1],'string','x:');
hText12=uicontrol(hMainFig,'style','text','position',[.15,.05,.25,.1],'tag','hText12');
hText21=uicontrol(hMainFig,'style','text','position',[.45,.05,.1,.1],'string','y:');
hText22=uicontrol(hMainFig,'style','text','position',[.55,.05,.25,.1],'tag','hText22');
handles=guihandles(hMainFig);
guidata(hMainFig,handles);
set(hMainFig,'windowButtonDownFcn',@WritePointData)

function WritePointData(hObject, eventdata, handles)  
global handles
p=get(gca,'currentpoint');  
set(handles.hText12,'string',num2str(p(1)))
set(handles.hText22,'string',num2str(p(3)))

function ShowPointData(hObject, eventdata, handles)  
p=get(gca,'currentpoint');  
if(isempty(findobj('tag','htext')))  
   ht=text('tag','htext','string',sprintf('(%g, %g)', p(1), p(3)),'position',[p(1),p(3)]);  
else  
   ht = findobj('tag','htext');  
   set(ht,'string',sprintf('(%g, %g)', p(1), p(3)),'position',[p(1)+.1,p(3)+.1]);  
end 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?