在MFC中,如果有三个或者三个以上的编辑框在一起,那么就要涉及“输入焦点的传递“问题。
1) 为了屏蔽”默认的按回车键关闭对话框这一功能,应该在对话框子类(本例是指CTestDlg类)中重写【OK】按钮的消息响应函数。方法是:双击”【OK】按钮“,在OnOK()函数里加入如下代码:
void CTestDlg::OnOK()
{
// TODO: Add extra validation here
//CDialog::OnOK();
GetNextDlgTabItem(GetFocus())->SetFocus();
}
2)调整”三个编辑框“的Tab顺序
在ResourceView面板中,双击“IDD_DIALOG1”-->按“Ctrl+D”快捷键--》会显示初始的Tab顺序:
图(2)初始的Tab顺序
这些“蓝色的小数字”,就是Tab顺序。在图(2)所示的状态下,首先,单击第一编辑框,那么第一个编辑框显示数字会从“4”变为“1”,然后,再点击第二个编辑框,那么第二个编辑框的数字会变成数值“2”,同理,再点击第三个编辑框。就得到如图(3)所示的编辑框Tab顺序。
图(3)调整后的Tab顺序