父窗口向子窗口的EDIT实时传数据问题 问题大概是这样:有一个主对话框MainDlg,还有三个子对话框Dlg1,Dlg2和Dlg3,主对话框的标签控件TabControl分别加载了三个子对话框,同时主对话框上还有个按钮Button,通过按钮单击事件,完成100步计算。问:怎样把每一步计算所得到的数据实时的显示在Dlg3的EDIT中。高手来帮忙啊。越详细越好,给出方法也行,谢谢啦! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 只要获取相应对话框的指针,然后得到相应控件上的东西就行了,函数GetWindow(),GetDlgItemText()GetDlgItem() 最好在主对话框MainDlg中为三个子对话框Dlg1,Dlg2,Dlg3,以及标签控件TabControl分别定义控件变量。比如 m_childDlg1, m_childDlg2, m_childDlg3, m_ctrlTab然后//初始化TAB控件,插入标签页。 TCITEM tc1,tc2,tc3; tc1.mask = TCIF_TEXT; tc1.pszText = _T("第一页"); tc2.mask = TCIF_TEXT; tc2.pszText = _T("第二页"); tc3.mask = TCIF_TEXT; tc3.pszText = _T("第三页"); m_ctrlTab.InsertItem(0, &tc1); m_ctrlTab.InsertItem(1, &tc2); //到这里只是添加了两个tab页 m_ctrlTab.InsertItem(2, &tc3); //到这里只是添加了两个tab页 //创建子页面 m_childDlg1.Create(IDD_CHILD_DLG1, GetDlgItem(IDC_TAB1)); m_childDlg2.Create(IDD_CHILD_DLG2, GetDlgItem(IDC_TAB1)); m_childDlg3.Create(IDD_CHILD_DLG3, GetDlgItem(IDC_TAB1)); //显示子页面 m_childDlg1.ShowWindow(SW_SHOW); m_childDlg2.ShowWindow(SW_HIDE); m_childDlg2.ShowWindow(SW_HIDE);这样可以设置Dlg3中的文本框了:m_childDlg3.SetDlgItemTextW(IDC_TEST,_T("123"));不要尝试用这种方式:GetDlgItem(IDC_TAB)->GetDlgItem(IDD_CHILD_DLG3)->SetDlgItemTextW(IDC_TEST,_T("123")); 钩子函数不处理;让消息处理函数处理这步用代码怎么写的??? COM应该用什么数据类型传递char*内存块? 怎样实现qq的“更多消息”时候出现的对话框功能? omni CORBA编译报错 wcstombs_s问题 PDID查壳查VC8的程序是Nothing found* ◇◆◇ 我来散10分,第五个人进来后结贴 ◇◆◇ 简单问题:如何让程序繁忙时仍响应消息??? 用向导生成的代码问题? 使用GDI能进行位传送么? visual stdio 2005里面的vc与visual c 6.0有区别没有 将字符串存到数组中
GetDlgItem()
分别定义控件变量。比如 m_childDlg1, m_childDlg2, m_childDlg3, m_ctrlTab
然后
//初始化TAB控件,插入标签页。
TCITEM tc1,tc2,tc3;
tc1.mask = TCIF_TEXT;
tc1.pszText = _T("第一页");
tc2.mask = TCIF_TEXT;
tc2.pszText = _T("第二页");
tc3.mask = TCIF_TEXT;
tc3.pszText = _T("第三页"); m_ctrlTab.InsertItem(0, &tc1);
m_ctrlTab.InsertItem(1, &tc2); //到这里只是添加了两个tab页
m_ctrlTab.InsertItem(2, &tc3); //到这里只是添加了两个tab页 //创建子页面
m_childDlg1.Create(IDD_CHILD_DLG1, GetDlgItem(IDC_TAB1));
m_childDlg2.Create(IDD_CHILD_DLG2, GetDlgItem(IDC_TAB1));
m_childDlg3.Create(IDD_CHILD_DLG3, GetDlgItem(IDC_TAB1)); //显示子页面
m_childDlg1.ShowWindow(SW_SHOW);
m_childDlg2.ShowWindow(SW_HIDE);
m_childDlg2.ShowWindow(SW_HIDE);
这样可以设置Dlg3中的文本框了:
m_childDlg3.SetDlgItemTextW(IDC_TEST,_T("123"));不要尝试用这种方式:
GetDlgItem(IDC_TAB)->GetDlgItem(IDD_CHILD_DLG3)->SetDlgItemTextW(IDC_TEST,_T("123"));