当使用MFC时,如果我有一个主对话框,那么我从main调用另一个对话框,将什么消息发送到主对话框让它知道它有焦点,是WM_SETFOCUS()?如果是这样,需要什么样的参数?我遇到的问题是,在子对话框中选择了一个值,我希望它一旦(子对话框)关闭就复制到主对话框中的编辑控件。现在,我有它所以第二个对话框将其值复制到一个全局变量,但是一旦第二个对话框关闭,我想在主对话框中获取全局变量并显示在编辑控件中。
答案 0 :(得分:3)
您还可以在子对话框中使用成员变量,例如
CChildDialogBox dlg;
if (dlg.DoModal() == IDOK) // child dialog saves the value in a CString member variable m_str
{ GetDlgItem(IDC_EDIT1)->SetWindowText(dlg.m_str);
}
这个MSDN article描述了如何在对话框中设置连接到控件的成员变量。
答案 1 :(得分:0)
我意识到我的问题,真的是初学者的错误,我在DoModal调用之后会立即退出函数。我不知道在函数结束之前,我可以在调用之后执行其他代码(将编辑控件变量赋值为新值,然后是SetWindowText)。