调用TranslateAccelerator功能

【勇芳软件工作室】汉化HomePreviousNext

要处理加速器,应用程序(或线程)的消息循环必须包含对TranslateAccelerator函数的调用。TranslateAccelerator将击键与加速器表进行比较,如果找到匹配项,则将击键转换为WM_COMMAND(或WM_SYSCOMMAND)消息。然后该函数将消息发送到窗口过程。TranslateAccelerator函数的参数包括要接收WM_COMMAND消息的窗口的句柄,用于转换加速器的加速器表的句柄,以及指向包含队列中的消息的MSG结构的指针。以下示例显示如何从消息循环中调用TranslateAccelerator.

while(GetMessage(& msg,(HWND)NULL,0,0)){

/ *检查加速器击键。*/

if(!TranslateAccelerator(

hwndMain,/ *接收窗口的句柄* /

haccel,/ *主动加速的句柄。表* /

& msg)){/ *消息数据的地址* /

TranslateMessage(&msg);

DispatchMessage(&msg);

}

}