1.关于对话框中的 编辑框  在编辑框中怎么把按“回车”自动变成按“Tab”
我想让它自动切换焦点2.还有个问题,在编辑框中输入多行文本时要按Ctrl+Enter
  怎么使它只按Enter就可以换行

解决方案 »

  1.   

    2。选择文本框属性页中的“Want return”就可以直接输入回车来换行了。
      

  2.   

    1.重载虚函数
    BOOL CJBoxDlg::PreTranslateMessage(MSG* pMsg) 
    {
    if(pMsg->message == WM_KEYDOWN)
    {
    if(pMsg->wParam == VK_RETURN)
    {
    pMsg->wParam = VK_TAB;
    }
    }
    return CDialog::PreTranslateMessage(pMsg);
    }
    2.把文本框的属性中选中:
    Multiline         Want return两个属性。
      

  3.   

    1:
    void CxxDlg::OnOK()
    {
    NextDlgCtrl();
    }
      

  4.   

    重载  PreTranslateMessage(MSG* pMsg) 
         {
    // TODO: Add your specialized code here and/or call the base class
    if(pMsg->message==WM_KEYDOWN)
    {
    if(pMsg->wParam==VK_RETURN)
    {
    CWnd * pWnd = this->GetFocus();
    int nID=pWnd->GetDlgCtrlID();
    if(nID==IDC_EDIT_INVESTOR_POST)//控件ID
     控件变量.SetFocus();//需要设置 焦点的控件             else if(nID==IDC_EDIT_INVESTOR_PHONE)
                                         控件变量.SetFocus();
                       }
              } 
    }
      

  5.   

    BOOL CTest6Dlg::PreTranslateMessage(MSG* pMsg) 
    {
    if( pMsg->message == WM_KEYDOWN )

                      if(pMsg->hwnd == GetDlgItem(IDC_EDIT1)->m_hWnd)
    {
                              switch( pMsg->wParam )
           {
                   case VK_RETURN:
                  pMsg->wParam  = VK_TAB;
           }
                      }
    }
    return CDialog::PreTranslateMessage(pMsg);
    }
      

  6.   


     第一个问题:    BOOL CAdfDlg::PreTranslateMessage(MSG* pMsg) 
    {
    // 处理 回车键
    if (pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_RETURN)     
    { // 获得 tab顺序  中的 下一个 窗口对象 
    CWnd* pWndNext = GetNextDlgTabItem(GetFocus()); if (pWndNext) 
                      {
      pWndNext->SetFocus();
    }           return TRUE;
    }
    return CDialog::PreTranslateMessage(pMsg);
    }
      

  7.   

    2。在edit的properties的styles中选中want return