首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 平面设计 > 图形图像 >

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

2013-01-05 
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);


就可以了

热点排行