rt。请教了。
我现在将对话框的OnPaint函数里面的CDiaLog::OnPaint()注释掉,将对话框隐藏,再显示出来,上面的控件全部没有显示;我再用鼠标拖动对话框,很快上面的控件又显示出来了。我不明白里面的机制,请问在拖动的时候,那些控件是谁画的?
这是个对我来说,比较难的题目。请教。

解决方案 »

  1.   

    OnPaint注释掉就必须由程序员完成所有的绘画动作。当拖动窗体之后,windows会强迫重绘窗体。
      

  2.   

    要自绘某个控件可以使用其他方法,譬如派生一个类然后使用子类化,或者使用Custom Draw。
      

  3.   

    windows会强迫重绘窗体?
    在哪里被强迫阿?请明示!
      

  4.   

    Windows有的消息可能不经过你的message handler。首先明确你想要干什么?
      

  5.   

    和WM_MOVE或者WM_MOVING消息的处理机制有个关系。