1.要重绘你就根据工程类型加一句Invalidate();或者UpdateWindow();
2.不会,因为OnTimer前面都有相应的类,如CTestDlg::OnTimer或者CAddDlg::OnTimer

解决方案 »

  1.   

    要使对话框中的值显式表达出来可通过----UpdateData()不影响,各自独立运行,但对话框类的变量改变只是在程序内部,不通过消息传递,程序显示不出来
      

  2.   

    先了解下SetTimer这个API函数的原型UINT_PTR SetTimer(
      HWND hWnd,              // 窗口句柄
      UINT_PTR nIDEvent,      // 定时器ID,多个定时器时,可以通过该ID判断是哪个定时器
      UINT uElapse,           // 时间间隔,单位为毫秒
      TIMERPROC lpTimerFunc   // 回调函数
    );
    例如
    SetTimer(m_hWnd,1,1000,NULL); //一个1秒触发一次的定时器在MFC程序中SetTimer被封装在CWnd类中,调用就不用指定窗口句柄了
    ,所以每一个CWnd类都有自己的SetTimer函数,不会相互影响。
      

  3.   

    MFC 中SetTimer会用不同的窗口句柄来区分
      

  4.   

    如果你是重载的这个对话框类的OnTimer函数的话,只要在变量变化后你调用UpdateData,变化后的变量值是可以更新到对话框的...