怎样在父窗口程序中获取子窗口编辑框中填写的内容 本帖最后由 u011110626 于 2013-06-18 10:16:40 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用消息传到父窗口getparent 父窗口:void CADlg::OnBnClickedSet(){CsetDlg dlg;dlg.DoModal();}子窗口:void CsetDlg::OnBnClickedOk(){CWnd* p_w=this->GetParent(); CString StrID; this->GetDlgItemText(ID_EDIT,StrID); (p_w->GetDlgItem(IDC_EDITstr))->SetWindowText(StrID);} 父窗口:void CADlg::OnBnClickedSet(){CsetDlg dlg;dlg.DoModal();}子窗口:void CsetDlg::OnBnClickedOk(){CWnd* p_w=this->GetParent(); CString StrID; this->GetDlgItemText(ID_EDIT,StrID); (p_w->GetDlgItem(IDC_EDITstr))->SetWindowText(StrID);} 我需要的strID的值存在哪里了呢? 谢谢你的帮助 我还有些不很清楚 1、请问我需要的strID的内容存在哪里了呢 ?2、(p_w->GetDlgItem(IDC_EDITstr))->SetWindowText(StrID);的意思是什么?3、IDC_EDITstr是谁的ID? “编辑框ID:ID_EDIT”用向导 关联为 CString (m_strEdit)对话框 OK时:CString strNewID = dlg.m_strEdit;注意 m_strEdit 一定要 关联为 CString 不能为 Edit 控件。(对话框 OK 后 控件会 消失) void CADlg::OnBnClickedSet(){CsetDlg dlg;dlg.DoModal();MessageBox(dlg.m_strEdit);//改成你要干的事}“编辑框ID:ID_EDIT”用向导 关联为 CString (m_strEdit)对话框 OK时:UpdateData();//要先更新一下数据CString strNewID = dlg.m_strEdit;CDialogEx::OnOK();注意 m_strEdit 一定要 关联为 CString 不能为 Edit 控件。(对话框 OK 后 控件会 消失) 自己试试啊,你整个里面只有两个ID_EDITIDC_EDITstr是父窗口的ID_SET 总结发言:父窗口获取子窗口的指针用FindWindow();子窗口获取父窗口的指针用GetParent();一旦获取到了对应窗口的指针,那么再取其上面的控件内容就很容易了GetDlgItemText( , ) 对IOCP的几点疑问? 基于块的纹理合成的C++实现,涉及方向纹理 CArchiveStream使用的问题 读取指定内存的数据进行排序后做为地址 CEdit 控件中的字符串如何换行? 一个关于CListCtrl的怪问题!! 按照书上介绍,我写了一个多播的发送端,但是每次都出现错误代码10014?下面是我的多播代码,给看一下,谢谢 对话框模板加滚动条的问题 arm lpc2368 通过udp与pc上socket的通信问题 关于动态显示的问题 OpenCV为什么只保存视频的前景帧后得到的是无效的文件?附代码 VC实现截屏并打印出所截取的图片,求大神帮忙啊
getparent
void CADlg::OnBnClickedSet()
{
CsetDlg dlg;
dlg.DoModal();
}
子窗口:
void CsetDlg::OnBnClickedOk()
{
CWnd* p_w=this->GetParent();
CString StrID;
this->GetDlgItemText(ID_EDIT,StrID);
(p_w->GetDlgItem(IDC_EDITstr))->SetWindowText(StrID);
}
void CADlg::OnBnClickedSet()
{
CsetDlg dlg;
dlg.DoModal();
}
子窗口:
void CsetDlg::OnBnClickedOk()
{
CWnd* p_w=this->GetParent();
CString StrID;
this->GetDlgItemText(ID_EDIT,StrID);
(p_w->GetDlgItem(IDC_EDITstr))->SetWindowText(StrID);
}
谢谢你的帮助 我还有些不很清楚
1、请问我需要的strID的内容存在哪里了呢 ?
2、(p_w->GetDlgItem(IDC_EDITstr))->SetWindowText(StrID);的意思是什么?
3、IDC_EDITstr是谁的ID?
用向导 关联为 CString (m_strEdit)
对话框 OK时:
CString strNewID = dlg.m_strEdit;
注意 m_strEdit 一定要 关联为 CString 不能为 Edit 控件。(对话框 OK 后 控件会 消失)
{
CsetDlg dlg;
dlg.DoModal();
MessageBox(dlg.m_strEdit);//改成你要干的事
}
“编辑框ID:ID_EDIT”
用向导 关联为 CString (m_strEdit)
对话框 OK时:
UpdateData();//要先更新一下数据
CString strNewID = dlg.m_strEdit;
CDialogEx::OnOK();
注意 m_strEdit 一定要 关联为 CString 不能为 Edit 控件。(对话框 OK 后 控件会 消失)
IDC_EDITstr是父窗口的ID_SET
父窗口获取子窗口的指针用FindWindow();
子窗口获取父窗口的指针用GetParent();一旦获取到了对应窗口的指针,那么再取其上面的控件内容就很容易了GetDlgItemText( , )