当前位置: 代码迷 >> 综合 >> ENTER Key change the focus of Edit Controls
  详细解决方案

ENTER Key change the focus of Edit Controls

热度:16   发布时间:2024-01-11 05:23:36.0

在对话框上按Ctl+D键可以设置Tab键的焦点顺序,把你想要的Edit Controls设置为第一,这样对话框启动时就自动设置为焦点了。


如果使用程序来设置如下,

this->SendDlgItemMessage(IDC_Name,WM_SETFOCUS,0,0);

或者
GetDlgItem(IDC_Name)->PostMessage(WM_SETFOCUS, 0, 0);


如果想通过Enter键来切换Edit Controls的焦点,可以使用OK键的消息函数来捕捉Enter回车键,在OnBnClickedOk()函里进行 Edit Controls 焦点的切换m,  


    CWnd* pwndCtrl = GetFocus();
    CWnd* pwndCtrlNext = pwndCtrl;
    int ctrl_ID = pwndCtrl->GetDlgCtrlID();


    switch (ctrl_ID) {
        case IDC_Edit1:
            pwndCtrlNext = GetDlgItem(IDC_Edit2);  //切换焦点
    pwndCtrlNext->SetFocus();
            return;  //退出。
//break;
        default:
            break;
    }

  相关解决方案