在一个无模式对话框事如何显示tooltip  
在一个无模式对话框中,加速键没了用处,比如一个按钮标题为&open,在模式对话框中,按alt+o就触发相应的消息,而无模式对话框中没作用.  
getkeystate(vk_menu),  
getkeystate(vk_lmenu),  
getkeystate(vk_rmenu),  
好像总是有问题,按alt键不能触发keydown消息  

解决方案 »

  1.   

    1.在 OnInitDialog 里
      ::RegisterHotKey(m_hWnd,0xa009,MOD_CONTROL,0x57);
      ::SetFocus(m_hWnd);2.添加消息
    BOOL CMyMFCDlg::PreTranslateMessage(MSG* pMsg) 
    {
      if (pMsg->message==WM_HOTKEY && pMsg->wParam==0xa009)
      {
        AfxMessageBox("Hello, This is hot key :-)");
      }
    return CDialog::PreTranslateMessage(pMsg);
    }LRESULT CMyMFCDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) 
    {
      if(message == WM_CLOSE)
      {
        ::UnregisterHotKey(m_hWnd,0xa009);
      }
      return CDialog::WindowProc(message, wParam, lParam);
    }好了,现在运行程序,请按 Ctrl + w ,:-)
      

  2.   

    如果运用MFC的CTooltipCtrl类,那么用Addtools()函数后,
    在PreTranslateMessage()中调用RelayEvent()进行显示提示信息