对话框2 获取主对话框中 edit box 中的值

sd_cx 2010-07-03 10:45:11
vc6中实现:
主对话框 打开非模态 对话框2 ,对话框2 获取主对话框中 edit box 中的值。如何写程序。
最好给个能运行的程序。谢谢


请大家帮忙~~
...全文
159 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wltg2001 2010-07-04
  • 打赏
  • 举报
回复
给你对话框2的代码:
void CMyDialog::OnBnClickedButton1()
{
TCHAR szBuff[255];
HWND hDlg=::GetParent(GetSafeHwnd());
::GetDlgItemText(hDlg,IDC_EDIT1,szBuff,MAX_PATH);
AfxMessageBox(szBuff);
}
查了一下,好像CWnd类中没提供GetParent方法,所以只能用API,所以下面的GetDlgItemText也是API。
sd_cx 2010-07-04
  • 打赏
  • 举报
回复
给个能实现的例子,谢谢
Eleven 2010-07-04
  • 打赏
  • 举报
回复
最后不需的时候delete掉指针
m_pSubDlg->DestroyWindow();
delete m_pSubDlg;
m_pSubDlg = NULL;
Eleven 2010-07-04
  • 打赏
  • 举报
回复

CSubDlg* m_pSubDlg; // 初始化为NULL
void CMainDlg::OnButtonOkClick()
{
if(NULL != m_pSubDlg)
{
m_pSubDlg->ShowWindow(SW_SHOW);
}
else
{
CString strText(_T(""));
GetDlgItemText(IDC_EDIT1, strText);
m_pSubDlg = new CSubDlg(strText);//将主对话框编辑框控件的数据作为参数传递进去
m_pSubDlg->Create(IDD_SUB_DIALOG, this);
m_pSubDlg->ShowWindow(SW_SHOW);
}

...
class CSubDlg : public CDialog
{
public:
CSubDlg(CString strText, CWnd* pParent = NULL);
...
...
protected:
CString m_strText; //用来保存传递进来的参数
};

CSubDlg::CSubDlg(CString strText, CWnd* pParent) : CDialog(...,pParent)
{
m_strText = strText;
}

}
mypotato0709 2010-07-04
  • 打赏
  • 举报
回复
在app里设置全局变量,然后extern就能用啦
Yanger_xy 2010-07-04
  • 打赏
  • 举报
回复
Getparent()获得主对话框的指针
花熊 2010-07-04
  • 打赏
  • 举报
回复
CWnd *pWnd=GetParent();
if(pWnd)
{
cstring str;
pWnd->GetDlgItemText(IDC_EDIT1,str);
}
也可直接用GetWindow()来得到Edit的窗口指针,直接调用GetWindowText;
也可用函数直接传入Edit窗口的指针,直接调用,比如m_Edit;
对话框2中写入函数LoadEditWnd(CWnd *p){m_p=p;}
定义变量Cwnd,在主对话框初始化时LoadEditWnd(&m_Edit);
wltg2001 2010-07-03
  • 打赏
  • 举报
回复
用GetParent()获得父对话框就行了。
liuyun213 2010-07-03
  • 打赏
  • 举报
回复
生成对话框时传递主对话框过去,再利用
雪影 2010-07-03
  • 打赏
  • 举报
回复
AfxGetMainWin获取主窗口指针,即主对话框指针。
通过这个指针获取Edit box的值

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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