小弟是一个初学者,刚刚弄清楚MFC程序是从什么地方开始的,会在什么地方结束,但是还是有好多不理解,请问MFC是在程序的什么地方调用OnDraw()这个函数?

解决方案 »

  1.   

    这可要多看看书了
    MFC是消息响应的机制,也就是某个事件发生后触发函数
      

  2.   

    在文档视图结构的程序(SDI/MDI)的程序中,视图类响应WM_PAINT时,先调用虚函数OnPrepareDC后,再调用OnDraw
      

  3.   

    这个应该看一下windows程序设计的基础,特别是 WM_PAINT 消息
    mfc进行了封装
    断了一下发现有以下的调用顺序
    CTestUIView::OnDraw(CDC * 0x0012fa9c {CPaintDC hWnd=0x00040642}) line 60
    CView::OnPaint() line 182
    CWnd::OnWndMsg(unsigned int 15, unsigned int 0, long 0, long * 0x0012fc10) line 1825
    CWnd::WindowProc(unsigned int 15, unsigned int 0, long 0) line 1585 + 30 bytes
    AfxCallWndProc(CWnd * 0x00422d70 {CTestUIView hWnd=???}, HWND__ * 0x00040642, unsigned 
    应该是从消息处理程序过来的