TrackPopupMenu和DoModal

        昨天跟同学一起调程序,在一个单文档多视图的项目里,有一个视图是从CTreeView继承的,同学希望右键点击弹出菜单,然后点击菜单项弹出模式对话框。
       然后就在那个视图里加了OnRButtonDown响应,由于系统自动生成,就在响应的最后调用了CTreeView::OnRButtonDown。同时在视图里添加了响应菜单命令的函数,并在其中弹出模式对话框。
       但发现每次弹出的模式对话框居然都不能获得焦点,必须在那个treeview里点一下,才能对对话框进行操作。后来发现trackpopupmenu那个函数return后,还要执行一个CTreeView::OnRButtonDown,而这个函数被domodal给拦住了,domodal又被它给拦住了。然后我们把trackpopupmenu写到CTreeView::OnRButtonDown之后,也就是OnRButtonDown响应的最后,果然没问题了。
       觉得这个问题比较搞笑,不知大家是否也遇到过,而我们的解决方法也不是很正常,不知大家有没有更好的方法。最后还想问看过这篇小东西的大哥们一句,这算是我们的问题么,还是ms。。。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值