读书人

交叉Dalog有关问题

发布时间: 2012-03-09 21:42:55 作者: rapoo

交叉Dalog问题
在一个界面Dalog1中弹出另外一个界面Dalog2,界面Dalog2中有一个IDC_EDIT1,要在弹出瞬间IDC_EDIT1在最左边获得光标.等待输入数据.当数据输送完毕自动关闭Dalog2,此时在Dalog1中能获取IDC_EDIT1的数据.
我在获取光标时,
UpdateData(true);
m_Edit_Scan_SN.SetFocus();
UpdateData(false);
但是得不到光标.不知道应该如何处理?
如果在Dalog1中直接获取IDC_EDIT1的数据,IDC_EDIT1属于Dalog2;如果先在Dalog2中获取IDC_EDIT1,再将数据传到Dalog1,但是不知道如何处理获取数据和输入数据的先后顺序?
不知道应该怎么设计?请高手帮忙!

[解决办法]
要在弹出瞬间IDC_EDIT1在最左边获得光标
--
在设计时,调整tab次序,把IDC_EDIT1设为第一位

当数据输送完毕自动关闭Dalog2
--
相应编辑框的WM_CHAR,或在PreTranslateMessage函数里拦截VT_RETURN,然后调用OnOK

再将数据传到Dalog1
--
if (dlg2.DoModal() == IDOK)
{
strEdit1 = dlg2.m_strEdit1;//把IDC_EDIT1的内容复制到m_strEdit1里
}

读书人网 >VC/MFC

热点推荐