dxut中settimer的具体用法,该如何解决

dxut中settimer的具体用法如题,dxut中settimer到底怎么用?哪位大侠有过经验?麻烦贴点具体的例子和用法,尤

dxut中settimer的具体用法
如题,dxut中settimer到底怎么用?哪位大侠有过经验?麻烦贴点具体的例子和用法,尤其是怎么响应settimer
[解决办法]
在DXUTSettingsdlg.cpp里有个例子

HRESULT DXUTSetTimer( 
  LPDXUTCALLBACKTIMER pCallbackTimer, 
  FLOAT fTimeoutInSecs, 
  UINT * pnIDEvent, 
  void * pCallbackUserContext 
); 
第一
个参数为一个callback 函数,定义是这样的
typedef void    (CALLBACK *LPDXUTCALLBACKTIMER)( UINT idEvent, void* pUserContext );

第二个参数是个时间,第三个返回这个timer的id,最后一个让你可以传一个自己定义的指针,这样在callback函数的第二个参数void* pUserContext 中可以取到。

用法例子:
首先定义callback 函数
void WINAPI StaticOnModeChangeTimer( UINT nIDEvent, void* pUserContext )
{
    //timer事件到达时的处理
}


然后在某个地方定义timer

 UINT nIDEvent;
 DXUTSetTimer( StaticOnModeChangeTimer, 1.0f, &m_nIDEvent, NULL);


就可以了