mfc中子窗口如何获得父窗口的值

toma2008 2014-11-25 09:24:20
rt,父窗口的一些数据想要传给子窗口,怎么弄了
...全文
933 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
jwy3411 2014-11-26
  • 打赏
  • 举报
回复
引用 10 楼 jwy3411 的回复:
假定父窗口需要往子窗口(其句柄为hParentWnd)发送获取数据消息WM_SEND_DATA_INFO
此处的hParentWnd应该是m_ChildDlg.m_hWnd 父窗口句柄可以不用知道
jwy3411 2014-11-26
  • 打赏
  • 举报
回复
假定父窗口需要往子窗口(其句柄为hParentWnd)发送获取数据消息WM_SEND_DATA_INFO

#define WM_SEND_DATA_INFO      WM_USER+1
假定父窗口包含了子窗口对象m_ChildDlg; 那么在父窗口发送信息给子窗口对应的消息响应函数中有

DATAINFO DataInfo;
//填充数据...
::PostMessage(m_ChildDlg.m_hWnd,WM_SEND_DATA_INFO,WPARAM(&DataInfo),NULL);//此时DataInfo包含了数据
子窗口重载PreTranslateMessage函数,在函数体内写下

if (pMsg->message==WM_SEND_DATA_INFO)
{
//子窗口类有数据成员DataInfo结构体变量 m_DataInfo
memcpy(&m_DataInfo,(DataInfo*)pMsg->wParam,sizeof(DataInfo));
}
jwy3411 2014-11-26
  • 打赏
  • 举报
回复
将父窗口句柄传递给子窗口,子窗口往父窗口发送获取相关信息的消息,父窗口接收到来自子窗口的特点消息后将子窗口需要了解的数据打包成一个结构体之后发回给子窗口即可。
mlqxj35674 2014-11-25
  • 打赏
  • 举报
回复
也可以修改子窗体的构造函数,在初始化时做为构造函数的参数传入 比如; CChildDlg::CChilddlg(int count) { this->m_Count=count; } 父窗口中调用时 CParentWnd::Fun() { CChilddlg dlg(100); dlg.DoModal(); }
凌乱哥 2014-11-25
  • 打赏
  • 举报
回复 1
toma2008 2014-11-25
  • 打赏
  • 举报
回复
是在父窗口中启动子窗口,能不能给部分代码参考,我想传递了,就是传不过去
凌乱哥 2014-11-25
  • 打赏
  • 举报
回复
要获得父窗口的值,就在父窗口定义一些专门用来获取的函数,然后在子窗口中调用就行了 比如,父窗口CMyDlg 子窗口CNewDlg 父窗口定义一个 int GetXXXX(){return m_iValue;} 子窗口就int iValue = ((CMyDlg*)GetParent())->GetXXXX();
lx624909677 2014-11-25
  • 打赏
  • 举报
回复
你是在父窗口冲启动的子窗口吗?是的话直接把父窗口中的内容给子窗口的类成员变量或者方法就可以
jacksonfan 2014-11-25
  • 打赏
  • 举报
回复
GetParent()
hubo86915531 2014-11-25
  • 打赏
  • 举报
回复
C子窗口* pDlg = new C子窗口(this); pDlg.Create(); pDlg.子窗口变量 = 父窗口变量;
jianghandaxue 2014-11-25
  • 打赏
  • 举报
回复
直接把父窗口中的内容给子窗口的类成员变量或者方法就可以 或者相互发消息都行

16,472

社区成员

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

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

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