遇到EnableWindow的问题了~

chenyu2202863 2008-10-15 10:46:00
在一个对话框中,有几个控件A、B、C
要顺序执行它们,所以我把B、C都EnableWindow(FALSE)了,即不可使用。当我执行完A控件的事件后,B才可使用EnableWindow(TRUE),然后才可以使用C控件。

问题就出在A执行完后B控件并没有及时更新--也就是EnableWindow(TRUE)方佛没作用标题还是灰色的。然而我点击其他的一个Button按钮后,却自动恢复了--也就是EnableWindow(TRUE)成功了。做了几次实验,感觉消息像是被阻塞住了,只有去点击其他可用按钮后(或者选择最大化或最小化之类的消息),消息才通。而我用代码发消息给这些按钮却不行~用RedrawWindow对控件重画也不行~


不知道我描述清楚没?怎么回事呢?
...全文
153 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenyu2202863 2008-10-15
  • 打赏
  • 举报
回复
问题解决了,原因是我的ComBox选择事件选成了SelectCancel去了,哎。。。粗心害人啊!!
alfwolf 2008-10-15
  • 打赏
  • 举报
回复
是的,如果是自绘的控件,你尝试一下Invalidate()。
当然你要保证你的逻辑是正确的
yangyoucheng22 2008-10-15
  • 打赏
  • 举报
回复
A执行后调用Invalidate()试下,看B是否EnableWindow(TRUE),然后一步一步跟踪看下问题出在哪里。
Hiiishe 2008-10-15
  • 打赏
  • 举报
回复
是逻辑问题
healer_kx 2008-10-15
  • 打赏
  • 举报
回复
是你的逻辑的问题,你好好跟踪代码就行了,你所描述的,是你看到的,但是看得不全面。所以你提供的信息不足以判断问题。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧