MFC小笔记:TabCtrl父子窗口传递消息

本文介绍在MFC界面设计中,如何从子对话框获取父窗口句柄,并在父窗口的Static控件中输出信息。具体实现包括在子对话框中声明父窗口指针,通过两次GetParent()函数调用获取主界面窗口句柄,最后使用GetDlgItem和SetWindowTextW方法更新Static控件内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、需求

MFC界面有一个设置对话框,实际使用TabCtrl+子对话框的形式。在子对话框中设置参数时,需要将结果反馈至父窗口下方。这样统一信息输出。本文解决问题:如何在子窗口中,获取父窗口句柄,并在父窗口Static控件输出信息。

二、设计

对话框界面,主窗口为一TabCtrl,下方为一Static控件。过程省略。

三、编码

在子对话框头文件声明窗口指针:

CWnd* m_pTabParentWnd; // Tab父类窗口指针,注:m_pParentWnd在父类中已有定义,故改名

在子对话框的OnInitDialog函数中获取父窗口指针:

m_pTabParentWnd = GetParent()->GetParent();

注意,需要调用两次GetParent()函数,子对话框的父窗口,实际是TabCtrl,TabCtrl的父窗口,才是主界面窗口。(不过行文隐藏了一层,直接以父窗口称呼)
m_pTabParentWnd即为父窗口指针,在相应响应函数中,通过父窗口指针,调用GetDlgItem即可得到控件,再调用SetWindowTextW即可输出信息。如:

m_pTabParentWnd->GetDlgItem(IDC_STC_SET_TIPS)->SetWindowTextW(L"参数设置成功");

其它子对话框进行同样处理即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值