+ -
当前位置:首页 → 问答吧 → 窗口中,子控件EnableWindow()是会刷新整个窗口吗?

窗口中,子控件EnableWindow()是会刷新整个窗口吗?

时间:2011-12-15

来源:互联网

GetDlgItem(nID)->EnableWindow(false);

发现这个是要刷新整个窗口的?

为什么不是只刷新子控件范围呢……

作者: mufc92   发布时间: 2011-12-15

GetDlgItem(nID)->EnableWindow(false)使nID对应的子控件不能接受用户输入,也就是说无法获得焦点。
和刷新窗口没什么关系。

作者: fight_in_dl   发布时间: 2011-12-15

按理不会刷新。

作者: keith_cheung   发布时间: 2011-12-15

应该是会给主窗口发送WM_PAINT的消息吧?

作者: mufc92   发布时间: 2011-12-15

如一楼 跟刷新没关系 是禁用指定的控件的 

要想刷新 有很多办法 发WM_PAINT WN_DRAW 消息并相应处理之 或直接调用 Invalidate SetRedraw UpdateData等
函数

作者: ZSP95   发布时间: 2011-12-15

该回复于2011-12-15 14:31:47被管理员删除

  • 对我有用[0]
  • 丢个板砖[0]
  • 引用
  • 举报
  • 管理
  • TOP
#6楼 得分:0回复于:2011-12-15 14:29:00
引用 1 楼 fight_in_dl 的回复:
GetDlgItem(nID)->EnableWindow(false)使nID对应的子控件不能接受用户输入,也就是说无法获得焦点。
和刷新窗口没什么关系。

这个有理,要正确理解不同函数的用途,如果这个禁用有刷新,那你应该上代码。。。

作者: tuo_li   发布时间: 2011-12-15

我的重点不是用法,而是用到之后对主窗口带来的影响。

从界面显示来看,disable 某个控件改变了界面。如果没有主窗口的WM_PAINT,那就应该是控件本身接收到WM_PAINT消息,自身重绘了?

但我disable EDIT控件的时候,的确进入了主窗口的OnPaint()函数内。

再跟一下看看……

作者: shen_wei   发布时间: 2011-12-15

热门下载

更多