注册 登录
编程论坛 VC++/MFC

MFC基本对话框类型中,如何在子窗口对主窗口上的控件进行数据更新

yangjinze 发布于 2012-04-10 17:13, 953 次点击
首先我是MFC中基本对话框写的,主窗口是IDD_SHANGWEIJI_DIALOG,在主窗口上有个“添加删除房间”按钮,响应函数为void CShangweijiDlg::OnTianjia_Dele_Room() //添加删除房间按钮的响应函数
{
// TODO: Add your control notification handler code here
CTianJia_Delet TianjiaDelet_room;  
TianjiaDelet_room.DoModal();

}

点击它弹出另一个IDD_TianJia_Dele窗口,窗口上有个添加房间的编辑框IDC_EDIT_Room和确定按钮,确定按钮响应函数void CTianJia_Delet::OnOK_TianjiaRoom()  
{
GetDlgItemText(IDC_EDIT_Room,m_TianjiaDeletRoom);//获得添加菜单中的内容
CString strTemp;
HWND zhu_hwnd=::GetParent(m_hWnd);//获得主窗口,但去掉::就错误,不知道为什么
//获得主窗口列表中已添加的房间
GetDlgItemText(IDC_LISTROOM,strTemp);//IDC_LISTROOM是主窗口主窗口是IDD_SHANGWEIJI_DIALOG上得一个列表 控件,我的目的上在点击确定后将添加的房间显示到主窗口的列表上,但是点击后,主窗口列表无反应
strTemp+="\r\n";
strTemp+=m_TianjiaDeletRoom;
//在主窗口列表中显示所有添加的房间
SetDlgItemText(IDC_LISTROOM,strTemp);
CDialog::OnOK();
}
1 回复
#2
ml2325282012-04-13 12:42

IDC_LISTROOM 是父窗口中的控件ID 不能用在这里使用GetDlgItemText

应该是
GetParent()->GetDlgItemText(IDC_LISTROOM,strTemp);

1