如和实现在一个窗口上按下某键执行一段程序?比如按下ALT+S就执行一个函数?
其实就是把按钮做的功能改成按某个键,该怎么?是用钩子拦消息吗?

解决方案 »

  1.   

    资源里有加速键的设置
    添加accelerator就行
      

  2.   

    用加速键,先添加加速键资源ID_YOUR_ACCELERATOR:HACCEL hAccel; //类成员
    hAccel = LoadAccelerators(theApp.m_hInstance,MAKEINTRESOURCE(ID_YOUR_ACCELERATOR)); // 初始化,然后重载窗口的的PreTranslateMessage,加入
    BOOL CYourDlg::PreTranslateMessage(MSG* pMsg) 
    {
        if (TranslateAccelerator(GetSafeHwnd(),hAccel,&Msg))
            return TRUE;
        else
            return CDialog::PreTranslateMessage(pMsg);
    }