请教各位:在VC里面怎样控制我的函数,让它每秒运行一次,很急,谢谢.

解决方案 »

  1.   

    窗口类中:
    SetTimer(1,1000,NULL);
    响应WM_TIMER消息:
    CXXXXX::OnTimer(UINT nIDEvent)
    {
       if(nIDEvent == 1)
       {
           do your job.
        }
    }
      

  2.   

    不好意思,我还是不太明白,我做的是一个对话框应用程序,完成一个从avi文件中以每秒一帧的速度传送,这个功能是用一个按钮实现的
    void CSimulationDlg::OnButtonPost() 
    {
    UpdateData();
    int firstframe=m_firstframe;
    int lastframe=m_lastframe;    
    CAviFile tmpbmp;
    tmpbmp.OpenAviFile(&FilePathName);
    tmpbmp.SaveData(firstframe,lastframe);
    }
    就是让tmpbmp.SaveData(firstframe,lastframe)每秒执行一次.
      

  3.   

    (*&^&%1#@$@$%@#$
    前面说的已经很清楚了。
    看我的:
    第一步:
    在CSimulationDlg增加成员变量: CAviFile tmpbmp;
    void CSimulationDlg::OnButtonPost() 
    {
    UpdateData();
    int firstframe=m_firstframe;
    int lastframe=m_lastframe;     tmpbmp.OpenAviFile(&FilePathName);
             SetTimer(1,1000,NULL);
    }
    第二步:
    启动类向导,为CSimulationDlg添加WM_TIMER消息响应函数OnTimer
    第三步:
    CSimulationDlg::OnTimer(UINT nIDEvent)
    {
       if(nIDEvent == 1)
       {
          tmpbmp.SaveData(firstframe,lastframe);
        }
    }
    希望你能了解!