读书人

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

发布时间: 2013-01-05 15:20:39 作者: rapoo

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);


就可以了

读书人网 >图形图像

热点推荐