if(::PeekMessage(&msg,NULL,0,0,PM_REMOVE))
{
 ::TranslateMessage(&msg);
 ::DispatchMessage(&msg);
}
这小段代码一般干什么用?还有就是“;;”前怎么什么也没有啊?

解决方案 »

  1.   

    Windows消息循环。
    :: 表示全局
      

  2.   

    参考msdn上的TranslateMessage(); DispatchMessage();
    ;;表示全局函数,就像Windows系统提供的API一样。
      

  3.   

    获得windows发给这个程序的消息,处理并转发。
    peekmessage()和getmessage()也有区别,具体看msdn
      

  4.   

    因为WINDOWS是基于消息机制的
    上面代码完成的是不停的收集消息,再把消息发送给各个接受消息的模块
    比如鼠标消息
    当鼠标移动的时候,就要发送WM_MOUSEMOVE消息,
    (::PeekMessage(&msg,NULL,0,0,PM_REMOVE))接受到消息,
    再发送给
    OnMouseMove(UINT nFlags, CPoint point)
    ::代表全局函数,是系统提供的