如果没有特殊处理,
对话框中CRichEditCtrl中使用Tab键的时候会直接切换到其他控件,如果将其他的控件都设置成
not tab stop, 则直接全选自己。
这使得我想在richedit中使用Tab输入制表符无法实现。怎样解决?好像richeditctrl中没有什么onchar, onkeydown之类的相应

解决方案 »

  1.   

    选中了CRichEditCtrl后设置个标志,然后在对话框中的onpretranslatemessage里面拦截tab,如果置了位就换成你需要的功能。
      

  2.   

    解决了,不用设标志位,只要验证窗口就可以了:) 谢谢啦!
    if( pMsg->message == WM_KEYDOWN || 
    pMsg->message == WM_KEYUP )
    {
    if( pMsg->hwnd == m_info.m_hWnd ) 
    {
    // keydown in the m_info
    if( pMsg->wParam == 9 ) // tab
    {
    return m_info.OnProcessMsg( pMsg );
    }
    // {
    // CString str;
    // str.Format("%d,%d", pMsg->wParam,  pMsg->lParam);
    // SetWindowText(str);
    // return true;
    // } }
    }