编辑控件不能马上响应EnableWindow(FALSE),不知为何?

AccelFaiz 2014-01-28 09:20:05
界面上有一个帐号框(Combobox),一个密码框,我设置按下登陆按钮后这两个框以及登陆按钮都马上禁用掉(登陆过程比较长),奇怪的是登陆按钮响应了代码禁用了,但帐号框和密码框却不会禁用。
代码如下:

GetDlgItem(IDC_BUTTONLOGIN)->EnableWindow(FALSE);
GetDlgItem(IDC_TELEPHONE)->EnableWindow(FALSE);
GetDlgItem(IDC_PASSWORD)->EnableWindow(FALSE);

这几行代码都是连续的,中间没有其它语句,而且顺序也是没关系的,先禁用帐号框和密码框还是无效。

界面上还有另一个功能,也是类似的组合,两个编辑框和一个按钮,本来之前还没加入功能代码,所以没有设置禁用按钮,另外两个编辑框可以快速响应EnableWindow(FALSE),今天刚加上功能代码后也设置了禁用按钮,结果又出现了和上面一样的问题(运行完功能代码后就响应了!),难道和禁用按钮有关嘛?
...全文
316 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
AccelFaiz 2014-02-01
  • 打赏
  • 举报
回复
引用 2 楼 arpnet99 的回复:
这个你代码出问题的可能性比较大。这个问题没有碰见过
已经搞定,应该是某个原因造成控件不能立即重绘,后面加一个RedrawWindow()方法就行了!
AccelFaiz 2014-01-31
  • 打赏
  • 举报
回复
引用 2 楼 arpnet99 的回复:
这个你代码出问题的可能性比较大。这个问题没有碰见过
有没有方法是让控件立即重绘的?
AccelFaiz 2014-01-31
  • 打赏
  • 举报
回复
引用 5 楼 baichi4141 的回复:
当然,还有可能是你控件ID写错了 不过可能性不大,因为除非你恰好写成另一个控件的ID,否则应该是程序崩溃
目前还没有OnTimer(),ID写错是不会的。。不是不响应,是不能马上响应,我的代码是连续三行禁用三个控件,然后do something,现在很神奇的是先禁用了按钮控件,然后do something之后另外两个控件再被禁用,实在无法理解啊
baichi4141 2014-01-31
  • 打赏
  • 举报
回复
当然,还有可能是你控件ID写错了 不过可能性不大,因为除非你恰好写成另一个控件的ID,否则应该是程序崩溃
baichi4141 2014-01-31
  • 打赏
  • 举报
回复
可能的原因是另一个地方在不停的GetDlgItem(IDC_TELEPHONE)->EnableWindow(TRUE); 建议楼主检查一下OnTimer()等地方
AccelFaiz 2014-01-30
  • 打赏
  • 举报
回复
引用 2 楼 arpnet99 的回复:
这个你代码出问题的可能性比较大。这个问题没有碰见过
这么奇怪……实在找不出原因……
这不是鸭头 2014-01-30
  • 打赏
  • 举报
回复
这个你代码出问题的可能性比较大。这个问题没有碰见过
AccelFaiz 2014-01-29
  • 打赏
  • 举报
回复
没人知道么。。

15,980

社区成员

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

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