MFC 子对话框调用父对话框的函数与变量

本文详细介绍了在MFC应用程序中,如何使子对话框(PicDialog)在点击按钮后调用父对话框(maindlgDlg)的特定函数testbox()。首先在子对话框中声明并设置父对话框指针,然后在父对话框中创建子对话框实例并传递指针,最后在子对话框的事件处理函数中,通过指针调用父对话框的testbox()函数,弹出消息框显示“tset from main”。

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

本文中的子对话框为PicDialog,父对话框为maindlgDlg

实现父对话框中点击Button1产生子对话框,子对话框点击子对话框的Button1调用父对话框中的函数testbox()

一.在子对话框头文件添加父对话框指针:

public:
CDialog *m_pMianDlg;
void set_dlg(CDialog * parnet_dlg);

二.在子对话框cpp文件定义set_dlg函数:

void PicDialog::set_dlg(CDialog * parnet_dlg)
{
m_pMianDlg =parnet_dlg;
}

三.在父对话框头文件添加子对话框头文件:

#include "PicDialog.h"

四.在父对话框cpp文件中

void CmaindlgDlg::OnBnClickedButton1()
{
// TODO: Add your control notification handler code here
PicDialog test;
test.set_dlg(this);
test.DoModal();
}


void CmaindlgDlg::testbox()
{


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值