怎的在父窗口程序中获取子窗口编辑框中填写的内容
怎样在父窗口程序中获取子窗口编辑框中填写的内容
欲实现:在父窗口中点“设置”弹出子窗口,在子窗口编辑框中填写身份证号 点击“确定”按钮后 被父窗口的程序调用
父窗口 CADlg , “设置”ID: ID_SET
子窗口 CSetDlg 编辑框ID:ID_EDIT, “确定”ID:ID_OK
子窗口“确定”按钮响应程序:
void CsetDlg::OnBnClickedOk()
{
// TODO: 在此添加控件通知处理程序代码
CDialogEx::OnOK();
GetDlgItemText(IDC_ID,StrID);
}
父窗口:
先生成子窗口
#include "CSetDlg.h"
......
......
void CADlg::OnBnClickedSet()
{
CsetDlg dlg;
dlg.DoModal();
}
然后在程序中的某处调用GetIdStr()函数中的idstr0 (idstr0 为父窗口全局变量)
CString CADlg::GetIdStr()
{
CsetDlg dlg;
idstr0 = dlg.StrID;
return idstr0;
}
现在父窗口程序中得不到编辑框中的内容,我是新手,恳请前辈们我应该怎样做,如果能写出具体的步骤更佳,感激不尽!
------解决方案--------------------
父窗口:
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);
}
------解决方案--------------------
“编辑框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 后 控件会 消失)
欲实现:在父窗口中点“设置”弹出子窗口,在子窗口编辑框中填写身份证号 点击“确定”按钮后 被父窗口的程序调用
父窗口 CADlg , “设置”ID: ID_SET
子窗口 CSetDlg 编辑框ID:ID_EDIT, “确定”ID:ID_OK
子窗口“确定”按钮响应程序:
void CsetDlg::OnBnClickedOk()
{
// TODO: 在此添加控件通知处理程序代码
CDialogEx::OnOK();
GetDlgItemText(IDC_ID,StrID);
}
父窗口:
先生成子窗口
#include "CSetDlg.h"
......
......
void CADlg::OnBnClickedSet()
{
CsetDlg dlg;
dlg.DoModal();
}
然后在程序中的某处调用GetIdStr()函数中的idstr0 (idstr0 为父窗口全局变量)
CString CADlg::GetIdStr()
{
CsetDlg dlg;
idstr0 = dlg.StrID;
return idstr0;
}
现在父窗口程序中得不到编辑框中的内容,我是新手,恳请前辈们我应该怎样做,如果能写出具体的步骤更佳,感激不尽!
vc++
消息
变量
------解决方案--------------------
父窗口:
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);
}
------解决方案--------------------
“编辑框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 后 控件会 消失)