注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Mr.Right

不顾一切的去想,于是我们有了梦想。脚踏实地的去做,于是梦想成了现实。

 
 
 

日志

 
 
关于我

人生一年又一年,只要每年都有所积累,有所成长,都有那么一次自己认为满意的花开时刻就好。即使一时不顺,也要敞开胸怀。生命的荣枯并不是简单的重复,一时的得失不是成败的尺度。花开不是荣耀,而是一个美丽的结束,花谢也不是耻辱,而是一个低调的开始。

网易考拉推荐

matlab 鼠标画线  

2012-04-22 17:54:04|  分类: 学习 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

Matlab是不是能跟踪鼠标移动的轨迹,真的可以!

 

这些性质都是附属於一个图形视窗,因此,他们规范了在此图形视窗下,各项滑鼠事件的反应指令.

一般而言,我们希望滑鼠先被按下,然后再移动滑鼠时,才会触发移动时的反应指令.欲达到此效果,我们必须做下列项:

在滑鼠按钮被按下时,设定 WindowButtonMotionFcn 及 WindowButtonUpFcn 的值.

在滑鼠按钮被释放时,清除 WindowButtonMotionFcn 及 WindowButtonUpFcn 的值.

因此,只有在滑鼠按钮被按下,且滑鼠在移动时,对应於WindowButtonMotionFcn 的反应指令才会被呼叫.

 

以下我们用一个简单的例子来说明.在这个例子中,滑鼠事件会产生下列反应:

按下滑鼠时,MATLAB 指令视窗会出现「Mouse down!」的讯息.

按下并移动滑鼠时,MATLAB 会在图形视窗画出滑鼠轨迹,并指令视窗印出「Mouse is moving!」及当时滑鼠的位置.

释放滑鼠时,MATLAB 指令视窗会出现「Mouse up!」的讯息.


function tmouse(action)
% TMOUSE 本例展示如何以Handle Graphics来设定滑鼠事件(Mouse
% Events)的反应指令(Callbacks)
if nargin == 0, action = 'start'; end
 switch(action)
  % 开启图形视窗
  case 'start',
   axis([0 1 0 1]);% 设定图轴范围
   box on;% 将图轴加上图框
   title('Click and drag your mouse in this window!');
   % 设定滑鼠按钮被按下时的反应指令为「tmouse down」
   set(gcf, 'WindowButtonDownFcn', 'tmouse down');
  % 滑鼠按钮被按下时的反应指令
  case 'down',
   % 设定滑鼠移动时的反应指令为「tmouse move」
   set(gcf, 'WindowButtonMotionFcn', 'tmouse move');   % 我以前不知道回调函数还可以这样写!!!!
   % 设定滑鼠按钮被释放时的反应指令为「tmouse up」
   set(gcf, 'WindowButtonUpFcn', 'tmouse up');
   % 列印「Mouse down!」讯息
   fprintf('Mouse down!\n');
  % 滑鼠移动时的反应指令
  case 'move',
   currPt = get(gca, 'CurrentPoint');
   x = currPt(1,1);
   y = currPt(1,2);
   line(x, y, 'marker', '.', 'EraseMode', 'xor');
   % 列印「Mouse is moving!」讯息及滑鼠现在位置
   fprintf('Mouse is moving! Current location = (%g, %g)\n', currPt(1,1), currPt(1,2));
  % 滑鼠按钮被释放时的反应指令
  case 'up',
   % 清除滑鼠移动时的反应指令
   set(gcf, 'WindowButtonMotionFcn', '');
   % 清除滑鼠按钮被释放时的反应指令
   set(gcf, 'WindowButtonUpFcn', '');
   % 列印「Mouse up!」讯息
   fprintf('Mouse up!\n');
 end
  评论这张
 
阅读(2698)| 评论(4)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016