mfc模式下,我第二个生成的dialog怎么使用第一个dialog中的变量
时间: 2024-03-22 11:39:22 浏览: 52
在MFC模式下,你可以使用GetDlgItem()函数来获取第一个对话框中的控件句柄,然后通过控件句柄获取控件的值。
假设第一个对话框中有一个名为IDC_EDIT1的编辑框,你希望在第二个对话框中使用这个编辑框中的值,可以按照以下步骤操作:
1. 在第一个对话框的类定义中添加一个公共成员函数,用于获取IDC_EDIT1的值:
```
CString GetEdit1Value()
{
CString strValue;
GetDlgItemText(IDC_EDIT1, strValue);
return strValue;
}
```
2. 在第二个对话框的类定义中添加一个成员变量,用于保存第一个对话框的指针:
```
class CSecondDialog : public CDialogEx
{
public:
CFirstDialog* m_pFirstDialog; // 保存第一个对话框的指针
// ...
};
```
3. 在第一个对话框的代码中创建第二个对话框时,将指针传递给第二个对话框:
```
CSecondDialog dlg;
dlg.m_pFirstDialog = this; // 将第一个对话框的指针传递给第二个对话框
dlg.DoModal();
```
4. 在第二个对话框中,通过第一个对话框的指针获取IDC_EDIT1的值:
```
CString strValue = m_pFirstDialog->GetEdit1Value();
```
这样就可以在第二个对话框中使用第一个对话框中的变量了。
阅读全文