关键代码:
(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键移动到该控件。