设有一主窗口,当单击某button时,会弹出一对话框,该框中有一个EditBox,
当输入数据后,响应事件关闭该弹出窗口,则在EditBox中输入的数据如何传输到
主窗口呢?
目前的思路是:
定义一个类,声明一变量用来保存EditBox当中的数据。
在弹出对话框的事件中,给该类的一个对像付值,然后在主窗口中取出该对像的数据。
但这样好像不行,因为两个窗口的对像不是同一个对像(不知声时为extern行不行)?
当输入数据后,响应事件关闭该弹出窗口,则在EditBox中输入的数据如何传输到
主窗口呢?
目前的思路是:
定义一个类,声明一变量用来保存EditBox当中的数据。
在弹出对话框的事件中,给该类的一个对像付值,然后在主窗口中取出该对像的数据。
但这样好像不行,因为两个窗口的对像不是同一个对像(不知声时为extern行不行)?
2.当输入数据后,响应事件关闭该弹出窗口2之后1的对话框窗口已经关闭了,但是对象还在,所以3.可以直接在1的单击button响应函数里面,用2的对话框对象取出值出来
//
经过反复的思考,我是这样理解的,请各位指教:
1:当点击对话框的一个button后,将EditBox的数据存到该对话框类的一个变量(savestr)
当中,即相当于对该类的一个变量初始化。
2:当关闭对话框后(主窗口定义的 对话框对像还存在),当再引用该对像的变量(savestr)
时,该savestr已经是EditBox当中的数据了。
不知这样理解有没有逻辑上的问题?
{
public:
CString m_strSaveStr;
}
CMyMainWnd::OnButton()
{
CMyDialog cDlg;
if( cDlg.DoModal() == IDOK )
{
DoSometring( cDlg.m_strSaveStr );
}
}