模式对话框如何取得父窗口的控件信息

lordor 2004-08-29 07:06:07
如一个主对话框创建一个模式子窗口,子窗口中要取一些主窗口的EDIT控件取的值,自私取得这些父窗口的控件值呢?
...全文
117 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lordor 2004-08-29
  • 打赏
  • 举报
回复
谢谢laiyiling(最熟悉的陌生人),搞定了
Kudeet 2004-08-29
  • 打赏
  • 举报
回复
假设父对话框为CFatherDlg;
子对话框为CSonDlg,其为CFatherDlg的成员变量;

在CFatherDlg中的变量有:
public:
int m_nValue;
CSonDlg m_SonDlg;

在CSonDlg中的变量有:
public:
int m_nValue;
CButton m_btnTansfer;//传递m_nValue到父对话框的m_nValue;

为按钮m_btnTansfer添加消息响应函数:
void CSonDlg::OnButtonTransfer()
{
// TODO: Add your control notification handler code here

UpdateData(TRUE);//根据需要,是否有需要更新的控件变量
m_nValue=100;//如果m_nValue不是控件变量;
((CFatherDlg*)(CDialog*)GetParent())->m_nValue=m_nValue;
////////注意这里要强制转换两次!!!

//1:还可以利用这个方法直接给CFatherDlg中的控件赋值
//((CFatherDlg*)(CDialog*)GetParent())->SetDlgItemInt(IDC_EDIT_VALUE,m_nValue);
//2:直接从父对话框中获得变量,传到子对话框
//((CFatherDlg*)(CDialog*)GetParent())->GetDlgItem(IDC_EDIT_VALUE)->GetWindowText(m_strValue);m_strValue是CSonDlg的成员变量;可以直接看到变化;
//m_nYear=((CFatherDlg*)(CDialog*)GetParent())->m_nValue

}
无聊客 2004-08-29
  • 打赏
  • 举报
回复
可以在子窗口DoModal前取得父Dialog的控件值传进去
无聊客 2004-08-29
  • 打赏
  • 举报
回复
GetDlgItem
GetDlgItemText

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧