|
|
发表于 2007-6-29 18:53:00
|
显示全部楼层
Re:关于Direct3D中的消息处理
设定一个bActive变量,表示程序处于活动状态还是挂起状态,在活动状态,用PeekMessage,在挂起时用GetMessage
我是这样处理的,大家评评:
while ( msg.message != WM_QUIT )
{
if ( g_IsActive )
{
if ( PeekMessage( &msg, NULL, 0, 0, PM_REMOVE ) != NULL )
{
if ( !IsDlgMsg( &msg ) )
{
TranslateMessage( &msg );
DispatchMessage( &msg );
}
}
else
{
Render();
//Sleep( 1 );
}
}
else
{
if ( GetMessage( &msg, NULL, NULL, NULL ) != NULL )
{
TranslateMessage( &msg );
DispatchMessage( &msg );
}
}
}
return msg.wParam; |
|