请教各位仁兄一个问题:
如果在不同的属性页之间使用相同的按钮热键?
例如有两个属性页,在两个属性页上都可以使用alt+d,但是要响应不同的事件。
请问一下各位应该如何实现?
注册热键的方法我试过了不行。
谢谢

解决方案 »

  1.   

    我重载了PreTranslateMessage函数,始终不能捕捉到ALT健,shift和ctrl都行。
    WM_SYSKEYDOWM我加了这个消息,但是在调试中没有见其调用。
    谢谢楼上两位兄弟
      

  2.   

    我过去也碰到过 在属性页中PreTranslateMessage捕获不到消息, 
    在WinProc中才捕获的到,
    建议你写一个属性页基类CBasePropertyPage::CPropertyPage,
    LRESULT CBasePropertyPage::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) 
    {
      if (message == WM_KEYDOWN)
      {
        DoExcute();//一个虚函数,可以在各个具体的属性页中重载,以此来响应不同的事件
     ...
      

  3.   

    CWnd::OnSysKeyDown If the CWnd object has the input focus, the OnSysKeyDown member function is called by the framework when the user holds down the ALT key and then presses another key. 
    afx_msg void OnSysKeyDown(
       UINT nChar,
       UINT nRepCnt,
       UINT nFlags 
    );