VC++ MFC TAB控件两个TAB子窗口之间传值问题

qq_33495527 2017-12-01 04:01:09
具体实现:两个子窗口1,2,子窗口1:添加3个编辑框和1个按钮(a+b=c)实现加法运算
子窗口2:添加一个编辑框,并且把子窗口1的结果值c显示到当前编辑框中
现有半成品现成的工程,可以发给大神们,很急!在线等!
...全文
384 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_33495527 2017-12-01
  • 打赏
  • 举报
回复
十分感谢,谢谢您帮我,已经解决了
凌乱哥 2017-12-01
  • 打赏
  • 举报
回复
原理就是:通过主对话框作为中转,传递值。 关键代码如下:

void CDialog1::OnBnClickedButton1()
{
	// TODO: Add your control notification handler code here
	CTabCtrl* pTabCtrl = (CTabCtrl*)GetParent();
	if(pTabCtrl){
		CTestTabCtrlDlg* pDlg = (CTestTabCtrlDlg*)pTabCtrl->GetParent();
		if(pDlg)
			pDlg->SetDlg2Value(6666);//Dialog1点击按钮后获取CTestTabCtrlDlg指针,把值(比如6666)传递给CTestTabCtrlDlg
	}
}

void CTestTabCtrlDlg::SetDlg2Value(int iValue)
{
	m_Dlg2.SetEditValue(iValue);//CTestTabCtrlDlg再调用m_Dlg2把6666传递过去
}

void CDialog2::SetEditValue(int iValue)
{
	CString strValue = _T("");
	strValue.Format(_T("%d"), iValue);
	SetDlgItemText(IDC_EDIT1, strValue);//m_Dlg2收到值后由int格式化成CString显示到编辑框
}
qq_33495527 2017-12-01
  • 打赏
  • 举报
回复
引用 5 楼 dingxz105090 的回复:
发私信给你了
已发您
凌乱哥 2017-12-01
  • 打赏
  • 举报
回复
发私信给你了
qq_33495527 2017-12-01
  • 打赏
  • 举报
回复
引用 3 楼 dingxz105090 的回复:
发出来看看,上传资源
可以发您邮箱吗?
凌乱哥 2017-12-01
  • 打赏
  • 举报
回复
发出来看看,上传资源
qq_33495527 2017-12-01
  • 打赏
  • 举报
回复
SendMessage具体是怎么样的呢?能给出一个例子之类的吗,确实不懂SendMessage
litchgu 2017-12-01
  • 打赏
  • 举报
回复
1.SendMessage,你自定义消息可以发过去。 2.无脑一点就是在窗口1中定义一个全局变量,在窗口2中extern。

16,472

社区成员

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

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

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