永发信息网

Matlab GUI 鼠标触发事件求助!!!小白一只,还望各位大神相助,跪谢!!!

答案:2  悬赏:60  手机版
解决时间 2021-03-21 19:38
问题是这样的,我想通过四个按钮控制,触发不同的鼠标点击事件。比如有控钮1,2,3,4,我点击控钮1后,鼠标在图片上点击出现蓝叉点;我点击控钮2后,鼠标在图片上单击出现红叉点,以此类推。。。我现在想通过一个handles.Mode的数值变量来确定哪个按钮被触发,比如点击控钮1后,在其callback中添加handles.Mode=1,以此类推。然后在WindowsButtonDownfcn中,添加Switch handles.Mode,来确定是哪个case,以执行不同操作。但是现在发现,这样做后,虽然按按钮时handles.Mode值会改变,但是对于鼠标触发事件,好像捕捉不到它的值的变化,一直以最初Mode的值所代表的case进行执行,代码如下:
Switch handles.optMode
Case 1
If p(end,1)>0&&p(end,1)0&&p(end,2)handles.dataCount=handles.dataCount+1;
handles.linedata(handles.dataCount,:)=p(end,1:2);
set(handles.datenzahl,'String',num2str(handles.dataCount));
hold on;
plot(p(end,1),p(end,2),'b*');
guidata(hObject, handles);
end

case 2
if p(end,1)>0&&p(end,1)0&&p(end,2)handles.axesCount=handles.axesCount+1;
handles.axesdata(handles.axesCount,:)=p(end,1:2);
set(handles.punktzahl,'String',num2str(handles.axesCount));
hold on;
plot(p(end,1),p(end,2),'r+');
guidata(hObject, handles);
end
end
最佳答案
你究竟使用handles.Mode

还是handles.optMode来表示状态?

case 情况里面的代码,只有plot所用的符号不同
所以没有必要重复那么多代码吧

其他代码都可以写在swith case语句之外
只用在不同case值中写相应的plot语句就可以了
全部回答
期待看到有用的回答!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
一声骨组什么词
高考报考北外的西班牙语系的一些问题
孩子现在三年级,想考北大附中,或北达资源中
管理报账用英语怎么说
耆读什么音?什么意思?
百世快递慢不慢
弥尔顿的《失乐园》是来自 圣经 还是 Old Tes
WPF中的模板如何以引用资源的形式放置?
2456789打一成语
七彩虹cf-a780-mx
单选题在市场的买卖过程中,买者如果不出钱,
上岛咖啡海光寺店地址在什么地方,想过去办事
为什么佛祖胸前的标志都是卍,而不是卐?
别人都说我脸好白,为什么我自己照镜子却感到
JAVA能否适用于大型的编程设计 包括管理系统
推荐资讯
怎样判断空调该不该加费里昂?
神奇宝贝超世代ED
The volleyball match will be put off if it
木瓜奇迹积分怎么得
一个圆的直径是5米,面积是________平方米.
瑞丰小区停车场这个地址在什么地方,我要处理
怎样用手机查询驾照有没有被扣分?
湖南衡阳晶体管有限公司怎么去啊,有知道地址
抄小说发表在汤圆创造会不会做牢
苹果手机怎么清除最近使用
新加坡大使馆签证处在什么地方???
古苏清真餐厅在哪里啊,我有事要去这个地方
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?