一小段代码 谁能告诉我意思是?

Doody 2003-08-21 10:53:50
while (GetMessage(&msg, NULL, 0, 0))
{
if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
...全文
52 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wlbc123456789 2003-08-21
  • 打赏
  • 举报
回复
55555555555555555555~~~~~~'~~~~~~~~~~

被楼上的抢分了 不过还是要顶一下
dhyuser10 2003-08-21
  • 打赏
  • 举报
回复
消息循环。
daphant 2003-08-21
  • 打赏
  • 举报
回复
打个比方给你说比如一个MFC程序用到
while(1){} 是个死循环,你的鼠标点击消息都失效了,如果 加入你的消息循环
while(1)
{
while (GetMessage(&msg, NULL, 0, 0))
{
if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}

}
你的很多处理消息就可以执行了,比如点击鼠标就有效了
wenger 2003-08-21
  • 打赏
  • 举报
回复
GetMessage从消息对列中取出消息,TranslateAccelerator处理是不是
采单的加速键,如果是,则发送WM_COMMAND or WM_SYSCOMMAND 到适当的
窗口程序。如果不是,则解释消息(TranslateMessage),在派送消息到各个
窗口(DispatchMessage)

其中,hAccelTable 是加速键表的句柄,可用LoadAccelerators把表load 进来

如此进行消息的循环处理
Pipi0714 2003-08-21
  • 打赏
  • 举报
回复
windows的消息循环机制,建议你看有关消息方面的书
Doody 2003-08-21
  • 打赏
  • 举报
回复
好 谢谢你

因为在debug的时候

跳过这步程序就崩溃了

进入却又永远跳不出

先查查书再说了
mfc168 2003-08-21
  • 打赏
  • 举报
回复
系统的消息循环机制,建议你看一下 《深入浅出MFC》第二版,很经典的一本书,里面有详细介绍
akun 2003-08-21
  • 打赏
  • 举报
回复
消息循环。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧