消息循环 while(GetMessage(&msgMessage, NULL,0, 0))t TranslateMessage(&msgMessage)i DispatchMessage(&msgMessage)i 小结 循环不断调用 GetMessage()从消息队列中取出消息,调 用 TranslateMessage()对键盘消息进行转换,然后再调 访问主页 用 DispatchMessage?分发给窗口过程进行处理 标题页 t GetMessage:从消息队列中取出标识为w_gUrr的消息时,返回0; 否则返回非0值;消息队列中无消息时,阻塞程序 ★ TranslateMessage 把虚拟按键消息转换为字符按键消息,并将转 第10页共13页 换后得到的字符按键消息重新放入消息队列,等待下一轮循环取出 该消息进行处理 全屏显示 ★ DispatchMessage:把消息分发给窗口过程进行处理 关闭Windows§SÄ( ( ¯ Ì I K JJ II J I 1 10 13 £ ¶ w « ' 4 ò Ñ ✑ EÌ while(GetMessage(&msgMessage,NULL,0,0)){ TranslateMessage(&msgMessage); DispatchMessage(&msgMessage); } Ì Ø ä N ^GetMessage()l E è ¥ Ñ E § N ^TranslateMessage()é
E ? 1 = § , 2 N ^DispatchMessage©uIL§?1?n * GetMessageµlEè¥ÑI£WM_QUITE§£0¶ ÄK£0¶Eè¥ÃE§{l§S * TranslateMessageµrJ[U
E=iÎU
E§¿ò= iÎU
E#\Eè§eÓÌÑ TE?1?n * DispatchMessageµrE©uIL§?1?n