在模态对话框中的edit box中设置焦点?该如何处理
在模态对话框中的edit box中设置焦点?
我想在模态对话框中的edit box中设置焦点,需要每次模态对话框弹出时,edit box中的内容都用焦点框住,以便于输入。
我试了
m_DialogExit.Domodel(); //m_DialogExit为模态对话框对象
m_DialogExit.ExitBox.SetFocus(); //ExitBox为m_DialogExit中的edit box对象
m_DialogExit.ExitBox.SetSel(0,-1,TRUE);
但是每运行就出现出错提示!
求助啊!
------解决方案--------------------
在资源编辑里按Ctrl+D设置Tab Order
------解决方案--------------------
domodel()返回后,对话框窗口已经销毁了,你再m_DialogExit.ExitBox.SetFocus()就assert宏出错。
应该在
OnInitDialog()
{
m_DialogExit.ExitBox.SetFocus();
m_DialogExit.ExitBox.SetSel(0,-1,TRUE);
}
------解决方案--------------------
谢谢二楼的详细解答,但貌似有点问题
=============================
是有问题。sorry.太久没用mfc了。
改正如下:
应该在m_DialogExit那个类中写代码
例如
CMyDialog m_DialogExit;
则在
CMyDialog::OnInitDialog()
{
///加上
ExitBox.SetFocus();
ExitBox.SetSel(0, -1, true);
return false;//一定要返回false,以防止windows使用标准的焦点设置行为.
}
我想在模态对话框中的edit box中设置焦点,需要每次模态对话框弹出时,edit box中的内容都用焦点框住,以便于输入。
我试了
m_DialogExit.Domodel(); //m_DialogExit为模态对话框对象
m_DialogExit.ExitBox.SetFocus(); //ExitBox为m_DialogExit中的edit box对象
m_DialogExit.ExitBox.SetSel(0,-1,TRUE);
但是每运行就出现出错提示!
求助啊!
------解决方案--------------------
在资源编辑里按Ctrl+D设置Tab Order
------解决方案--------------------
domodel()返回后,对话框窗口已经销毁了,你再m_DialogExit.ExitBox.SetFocus()就assert宏出错。
应该在
OnInitDialog()
{
m_DialogExit.ExitBox.SetFocus();
m_DialogExit.ExitBox.SetSel(0,-1,TRUE);
}
------解决方案--------------------
谢谢二楼的详细解答,但貌似有点问题
=============================
是有问题。sorry.太久没用mfc了。
改正如下:
应该在m_DialogExit那个类中写代码
例如
CMyDialog m_DialogExit;
则在
CMyDialog::OnInitDialog()
{
///加上
ExitBox.SetFocus();
ExitBox.SetSel(0, -1, true);
return false;//一定要返回false,以防止windows使用标准的焦点设置行为.
}