关键代码:
(CEdit*)GetDlgItem( IDC_NAME)->SetFocus();
强制为CEdit类指针,即可使用SetFocus()成员函数,在运行时就可以得到输入焦点了。
也可以通过该文本框对应的变量来设置,即:
CEdit m_edit_patientName;
m_edit_patientName.SetFocus();//运行时获得输入焦点
例子:简单的登录对话框点击登录控钮时的代码:
void CLogin::OnOK() { // TODO: Add extra validation here UpdateData(TRUE); if(m_strName!= "admin" || m_strPwd!= "password") { MessageBox("用户名或是密码错误!","登录提示",MB_ICONSTOP | MB_OK); (CEdit*)GetDlgItem(IDC_NAME)->SetFocus(); return; } CDialog::OnOK(); }
若输入有误或不正确,文本框用户名得到输入焦点。
或者通过在窗体的界面中指定控件的Tabstop对应的属性数字值(使用"Ctrl+D"组合键激活该设置,通过鼠标点击即可重新设置其数字值,最小值为1,代表启动时首先获取该位置的输入焦点。),代表可以通过使用Tab键移动到该控件。