如何在Tab标签页面的对话框List控件中传递数值

tianxiezhi 2018-06-01 11:48:30
各位前辈,请教下如下问题:

标签Tab页面1对话框:TabDlg1,有根据数据计算的结果,如A=10,B=20;C=30;
标签Tab页面2对话框,TabDlg2,有List Control控件,变量为m_List;
目标:把页面1中计算的A=10,B=20;C=30显示到页面2中的List表格中,比如显示打0行i列中;

希望大家能提供点范例,初学爱好者!谢谢大家!
...全文
1257 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
tianxiezhi 2018-08-08
  • 打赏
  • 举报
回复
谢谢2楼的方式,已成功实现!
tianxiezhi 2018-06-03
  • 打赏
  • 举报
回复
解决方法一: 在子窗口1中定义一个子窗口2的指针变量 CPage2Dlg *m_Ptr; 在主窗口的OnInitDialog()函数下进行窗口的绑定 使用Create m_Page01.m_Ptr = &m_Page02; 给变量m_ptr 进行赋值 得到子窗口2的句柄 然后在子窗口1中的函数方法中使用变量m_ptr 就可以对子窗口2进行操作 上面的方法中,使用 使用Create m_Page01.m_Ptr = &m_Page02; 这个代码当如何写呢?谢谢!直接这样Create m_Page01.m_Ptr = &m_Page02;是报错的。
tianxiezhi 2018-06-02
  • 打赏
  • 举报
回复
JamesWu9527,谢谢! 尝试了下您提到的第一种模式,但出现了如下错误提示,而且只对一个有出错 1>d:\documents\visual studio 2017\projects\xgfdasystem\xgfdasystem\xrdlg.h(52): error C2143: 语法错误: 缺少“;”(在“*”的前面) 1>d:\documents\visual studio 2017\projects\xgfdasystem\xgfdasystem\xrdlg.h(52): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int 1>d:\documents\visual studio 2017\projects\xgfdasystem\xgfdasystem\xrdlg.h(52): error C2238: 意外的标记位于“;”之前 2)说明 xrdlg为子窗口1 在.h文件中定义如下 public: CXrbDlg * m_Xrb; CXrjDlg* m_Xrj; CXrnDlg* m_Xrn; CXrnnDlg* m_Xrnn; CXrTgDlg* m_XrTg; 目前是对最后一个有出错提示,其它四个无出错提示,比较奇怪; 在主窗口中的OnInitDialog()函数下是这样写的 void CXrFormView::OnInitialUpdate() { CFormView::OnInitialUpdate(); m_Tabxr.InsertItem(0, "熔体性质"); m_Tabxr.InsertItem(1, "温度-粘度A"); m_Tabxr.InsertItem(2, "温度-粘度B"); m_Tabxr.InsertItem(3, "析晶特性"); m_Tabxr.InsertItem(4, "Tg转变区"); m_Tabxr.InsertItem(5, "表面张力"); // 创建子对话框 XrDlg.Create(IDD_XrDlg, &m_Tabxr); XrnDlg.Create(IDD_XrnDlg, &m_Tabxr); XrnnDlg.Create(IDD_XrnnDlg, &m_Tabxr); XrjDlg.Create(IDD_XrjDlg, &m_Tabxr); XrTgDlg.Create(IDD_XrTgDlg, &m_Tabxr); XrbDlg.Create(IDD_XrbDlg, &m_Tabxr); //指针传递信息- XrDlg.m_Xrb = &XrbDlg; XrDlg.m_Xrj = &XrjDlg; XrDlg.m_Xrn = &XrnDlg; XrDlg.m_Xrnn = &XrnnDlg; XrDlg.m_XrTg = &XrTgDlg; 不知道问题出在哪儿了,谢谢大家!
JamesWu9527 2018-06-01
  • 打赏
  • 举报
回复
如何在两个标签页进行数据切换 主窗口:CMainDlg 子窗口1 CPage1Dlg =>成员变量 m_Page01 子窗口2 CPage2Dlg =>成员变量 m_Page02 需求:在子窗口1中进行操作 在子窗口2中进行显示 例如:在子窗口1中点击一个按钮 在子窗口2中显示信息 解决方法一: 在子窗口1中定义一个子窗口2的指针变量 CPage2Dlg *m_Ptr; 在主窗口的OnInitDialog()函数下进行窗口的绑定 使用Create m_Page01.m_Ptr = &m_Page02; 给变量m_ptr 进行赋值 得到子窗口2的句柄 然后在子窗口1中的函数方法中使用变量m_ptr 就可以对子窗口2进行操作 解决方法二: 使用SendMessage 来实现 自定义消息 SendMessage( HWND hWnd, //消息传递的目标窗口或线程的句柄。 UINT Msg, //消息类别(这里可以是一些系统消息,也可以是自己定义,下文具体介绍,) WPARAM wParam, //参数1 (WPARAM 其实是与UINT是同种类型的, //在vc编译器中右键有个“转到WPARAM的定义”的选项可以查看 LPARAM lParam); //参数2 例子: step1: 在接收消息的窗体以及线程所在的头文件中定义: #define WM_CHILDFRAMEDBCLK WM_USER+1 //自定义消息 Step2: 定义一个消息映射函数 afx_msg LRESULT OnChlidFrameDBClick(WPARAM wParam, LPARAM lParam); Step3: 添加消息函数映射 ON_MESSAGE(WM_CHILDFRAMEDBCLK,OnChlidFrameDBClick) 自定义消息 就使用ON_MESSAGE Step3: 实现消息函数 LRESULT CMainFrame::OnChlidFrameDBClick(WPARAM wParam, LPARAM lParam) { return 0; } Step4: 发送消息给对应的窗口

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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