帮忙解决一下,谢谢!

yzh_1982 2007-04-05 02:35:14
while( GetMessage(&msg,NULL,0,0) )/**/
{
if( !TranslateAccelerator(hMainWnd,hAccTable,&msg) )
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
解释一下吧。
...全文
147 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
不想低调 2007-04-05
  • 打赏
  • 举报
回复
lz自己看书嘛。。。
jjjkl81 2007-04-05
  • 打赏
  • 举报
回复
学习一下
hellodudu 2007-04-05
  • 打赏
  • 举报
回复
TranslateAccelerator函数确认存放在msg消息结构中的消息是否为键盘消息。如果是,该函数将找寻句柄为hAccel的快捷键表。如果找到了一个符合的,则呼叫句柄为hwnd的窗口消息处理程序。如果快捷键ID与系统菜单的菜单项一致,则消息就是WM_SYSCOMMAND;否则,消息为WM_COMMAND。

当TranslateAccelerator传回时,如果消息已经被转换(并且已经被发送给窗口消息处理程序),那么传回值为非零;否则,传回值为0。如果TranslateAccelerator传回一个非零值,则不呼叫TranslateMessage和DispatchMessage,而是经过循环回到GetMessage呼叫中。


<<windows程序设计>>如是说:

69,372

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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