c++学习笔记----控件绑定变量

来源:互联网 发布:淘宝店铺简约模板 编辑:程序博客网 时间:2024/06/05 14:40

      将一个edit控件绑定给一个CString变量后 ,需要在OnChangetest()中加入这样两句话

       Invalidate(FALSE);
      UpdateData(TRUE);

      百度了一下,是这样解释这两个函数的:Invalidate使整个窗口客户区无效,一旦无效就需要重新绘制,MFC为窗口类提供了WM_PAINT的消息处理函数OnPaint,OnPaint负责重绘窗口。视图类有一些例外,在视图类的OnPaint函数中调用了OnDraw函数,实际的重绘工作由OnDraw来完成。参数bErase为TRUE时,重绘区域内的背景将被擦除,否则,背景将保持不变。

     UpdateWindow( )的作用是使窗口立即重绘。调用Invalidate等函数后窗口不会立即重绘,这是由于WM_PAINT消息的优先级很低,它需要等消息队列中的其它消息发送完后才能被处理。调用UpdateWindow函数可使WM_PAINT被直接发送到目标窗口,从而导致窗口立即重绘

    虽然了解了这两个函数的作用,但其实还是不明白为什么要加这两句话。