C++中怎么控制定时器只运行一秒

C++中如何控制定时器只运行一秒
各位高手:
  最近在学OpenGL做简单动画时遇到了问题如上所示,很多资料和开源代码上都是一直开着定时器,让一个球或者其他什么转啊转的。所以,我的意思是,是否能让定时器只运行一段时间就销毁,比如说一秒,而且在那些例子中,都是设置:
Invalidate(FALSE),但是如果此时,销毁定时器后,这个球自己是不转了,但用户要用键盘来控制,就貌似必须要将Invalidate(FALSE),改为:Invalidate(TRUE),这种情况下要怎写程序才能实现这两个功能呢?
我是这样弄的,部分代码如下:
  if (nChar==VK_SPACE)//销毁定时器// OnTimer()函数:
{ // {Invalidate(FALSE);
KillTimer(1); // yRot+=3;
Invalidate(TRUE); // CView::OnTimer(nIDEvent);
} // }
  if (nChar==VK_RIGHT)//球体向右转//  
{ //  
yRot+=5; //
} //

虽然通过按空格键能停止球体转动,但这不是我想要的‘在规定时间下停止’,而且只能同时按下右箭头键和空格键才能实现球体向右转。
各位高手,请问如何才能实现让定时器按时停止,并且停止后能用键盘控制球体转动呢?

------解决方案--------------------
公开自己的方法,互相交流学习