CGhdxjkDlg::CGhdxjkDlg(CWnd* pParent /*=NULL*/)
: CDialog(CGhdxjkDlg::IDD, pParent)
{
...
UINT id=SetTimer(1, 1000, NULL);}void CGhdxjkDlg::OnTimer(UINT nIDEvent) 
{
// TODO: Add your message handler code here and/or call default
MessageBox("Timer");
CDialog::OnTimer(nIDEvent);
}

解决方案 »

  1.   

    把SetTimer(1, 1000, NULL);放到OnInitDialog里试一试
      

  2.   

    加在OnInitDialog()
    里面你这玩意就是害我死机
    点都点不掉,呵呵.
      

  3.   

    是不是没有map message:  ON_WM_TIMER()或者把settimer放到initdialog试试看
      

  4.   

    呵呵!重启了吗?同意放ONINITDIALOG
      

  5.   

    放到initdialog里可以了,但不明白为什么?放在构造函数理不行吗?
      

  6.   

    在消息映射表中加入on_wm_timer()了吗?
      

  7.   

    SetTimer是窗口相关函数,在对话框类构造时,还没有建窗口呢,所以会无效。
    等到OnInitDialog()时窗口才建好。
    同理,所有的控件也要在OnInitDialog()才能初始化。
      

  8.   

    定时器的处理是由窗口过程来响应的.
    CWnd::SetTimer实际调用API:::SetTimer,::SetTimer有个HWND参数的...