我派生了一个对话框的构造函数, 想在里面出始化变量,但发现这函数却没有被系统调用, 是怎么回事?谢谢

解决方案 »

  1.   

    基类 (系统自动调用)
    CLCDDlg::CLCDDlg(CWnd* pParent /*=NULL*/)
    : CDialog(CLCDDlg::IDD, pParent)
    { /* initialize the serial port*/
    nPort=1;
    memset(m_strReceived,0,N);
    memset(disp_buf, 0,MAX_REV_LEN );
    }派生类 (系统不调用, 所以我在里面设置的timer没用)
    CMechanism::CMechanism(CWnd* pParent /*=NULL*/)
    : CDialog(CMechanism::IDD, pParent)
    {
    //{{AFX_DATA_INIT(CMechanism)
    // NOTE: the ClassWizard will add member initialization here
    //}}AFX_DATA_INIT
    SetTimer(TIMER_ID_POLLING_IIC_DATA, 10,NULL);
    pI2cTrace= new CI2cTrace();
    }
      

  2.   

    对话框构造的时候窗口还没有创建,不能调用SetTimer。
      

  3.   

    这怎么能说它没调用,明显是SetTimer此时还不能用,必须等窗口创建完成,至少在WM_INITDIALOG消息之后才能调用和窗口相关的函数楼主会不会调试啊?加个断点就不会由这种错误了
      

  4.   

       VC计时器的一个使用心得http://blog.csdn.net/clever101/archive/2008/02/24/2116112.aspx