在对话框上按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;
}