mfc中工具栏按钮的状态怎么更新?
我新建了个工具栏,里面有一些按钮,并响应了ON_UPDATE_COMMAND_UI,当按下时,用SetCheck(1),使按钮下陷,当按下另一个按钮时,前一个按下的按钮应...
我新建了个工具栏 ,里面有一些按钮 ,并响应了ON_UPDATE_COMMAND_UI ,当按下时,用SetCheck(1),使按钮下陷 ,当按下另一个按钮时 ,前一个按下的按钮应该恢复下陷的状态 ,这个按钮下陷 ,但是当我按下另一个按钮时 ,前一个没有恢复 ,还是下陷状态 ,也就是 ,每按一个按钮 ,它都下陷 ,所有按钮按完 ,就都下陷了。
请高手指教 ,应该怎么处理这个问题 。 跪求。。 谢谢。。 展开
请高手指教 ,应该怎么处理这个问题 。 跪求。。 谢谢。。 展开
2个回答
展开全部
你的按钮之间看起来是互斥的关系,方法如下
1.重载onIdle方法(按钮的父窗口),这个方法将在空闲的时候被系统调用(一般来说非常快,没操作都算空闲,在这个里面可以很快捷的设置控件的各种状态).
2.在方法中检查是哪一个按钮持有一个按下标记,如是setCheck(1),如果不是setCheck(0).
此外你应该还有一个当前需要进行互斥的按钮句柄列表<Array of handle>,以便确定互斥的范围.按下标记思路较为简单,记录一个当前按下的按钮所在的句柄列表的下标即可.我想一个循环就解决了.
1.重载onIdle方法(按钮的父窗口),这个方法将在空闲的时候被系统调用(一般来说非常快,没操作都算空闲,在这个里面可以很快捷的设置控件的各种状态).
2.在方法中检查是哪一个按钮持有一个按下标记,如是setCheck(1),如果不是setCheck(0).
此外你应该还有一个当前需要进行互斥的按钮句柄列表<Array of handle>,以便确定互斥的范围.按下标记思路较为简单,记录一个当前按下的按钮所在的句柄列表的下标即可.我想一个循环就解决了.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
哦,写一个所有按钮恢复函数,然后在SetCheck(1)之前调用即可。
不懂vc,懂的别拍我
不懂vc,懂的别拍我
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询