找回密码
 注册
Simdroid-非首页
查看: 131|回复: 0

【原创】使控件响应鼠标双击,右键,中键等

[复制链接]
发表于 2005-12-15 23:21:51 | 显示全部楼层 |阅读模式 来自 陕西西安
以text为例:
function presstest
f=figure;
t=text(.5,.5,'点这里','color',[.2,.5,.6],'back',[1 1 1],'edgecolor',[0 0 0],'ButtonDownFcn',{@statu***ar_callback,f});
set(get(t,'parent'),'visible','off');
set(f,'userdata',t,'buttondownfcn','set(get(gcbo,''userdata''),''string'',''往框里点啊!'')')

function statu***ar_callback(h,e,f);
presstype=get(f,'selectiontype');
if strcmp(presstype,'open')==1
    set(h,'string','双击');
elseif strcmp(presstype,'normal')==1
   set(h,'string','单击');
elseif strcmp(presstype,'alt')==1
   set(h,'string','右键');
elseif strcmp(presstype,'extend')==1
   set(h,'string','中键或左右键');
end

原理为:
figure的selectiontype指示figure最后鼠标点击状态
normal:点击左键
extend:shift+左键,或中键,或左右键同时点
alt:ctrl+左键,或右键
open:双击任何键。
控件响应鼠标要用到ButtonDownFcn,然后在ButtonDownFcn中检测figure的selectiontype

[ 本帖最后由 nostalgica 于 2006-9-2 14:31 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-24 05:16 , Processed in 0.034747 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表