Accelerator用起来还是比较简单的吧?
你的代码中需要加入一些东西
WinMain中需要加入
HACCEL hAccelTable;
如果有resource编辑的话可以直接编辑Accelerator列表,然后用
LoadAccelerators(hInstance, (LPCTSTR)(资源中Accelerator 对应的ID));
加载
如果没有的话可以自己创建,定义一个数组,例:
ACCEL acc[]=
{
FALT, 'f', ID_FRIST ,
FALT, 's', ID_SECOND ,
};
然后用hAccelTable = CreateAcceleratorTable(acc, 2);创建,其中ID_FRIST是你设置GWL_ID时的ID
最后消息循环用下面的
while(GetMessage(&msg, 0, 0, 0))
{
if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
代替
就两步,还是比较简单的