MFC view类传值给对话框CListCtrl控件的方法

hliu2012 2015-08-19 08:48:10
麻烦问一下各位,最近在编一个程序,需要MFC单文档程序中,将view类的数据传递给一个对话框,对话框中有一个CListCtrl控件,数据就是传给这个控件的,现在不晓得用什么方法来实现这个过程。
...全文
145 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hliu2012 2015-08-21
  • 打赏
  • 举报
回复
引用 2 楼 zgl7903 的回复:
在创建好对话框的时候将ListCtrl的句柄传递给View, 这样View可以直接操控控件了 或者View中发送消息,对话框中接收和更新控件
麻烦问一下,我定义了一个对话框类的对象为view里面成员变量,那在view类里面的哪一个函数里面将ListCtrl的句柄传递给View呢?
hliu2012 2015-08-21
  • 打赏
  • 举报
回复
引用 1 楼 VisualEleven 的回复:
你对话框和你的View有什么关联没有?如果你的对话框是在View类的某一个函数中创建或者初始化的话,那么你可以将需要的数据作为对话框类的构造函数的参数传递给对话框的类。如果对话框和view没有关联的话,可以通过主框架窗口来中转,因为在View和对话框中都可以AfxGetMainWnd()获取主框架窗口的CWnd指针。
我现在是想在view里面定义一个CListCtrl类的成员变量,然后在弹出的对话框里面调用这个变量,在弹出的对话框里面显示这个变量,不晓得用什么方法来实现这个
hliu2012 2015-08-21
  • 打赏
  • 举报
回复
引用 4 楼 wa_tao 的回复:
关键在于如何获取View类的指针,如下所示:获取View类指针,并将View类数据 传入新的对话框中。 // 此函数为单位档,菜单命令响应函数 void CMainFrame::OnDialog() { //获取View类指针,修改View类数据 CMainFrame *pMain=(CMainFrame *)AfxGetApp()->m_pMainWnd; CTestView *pView=(CTestView *)pMain->GetActiveView(); pView->m_strText="Hello VC++"; //View类数据传人新的对话框中 //新的对话框,显示前加载传入的数据即可,例如OnPaint CTestDia dlg; dlg.str=pView->m_strText; dlg.DoModal(); }
这种方法有试过,但是因为CListCtrl对象不能直接复制,就是说不能令两个该类对象直接相等,所以用不了
hliu2012 2015-08-20
  • 打赏
  • 举报
回复
谢谢各位的回答,我的程序就是在菜单栏中加了一个菜单项,点击后弹出对话框的,然后view类调用domodal来弹出对话框,只是不晓得,如果按在创建好对话框的时候将ListCtrl的句柄传递给View,那应该在view类的哪一个函数中实现呢?
qq_30375571 2015-08-20
  • 打赏
  • 举报
回复
在domoadl()或者showwindows之前,赋值给对话框的成员,然后list去访问这个成员
wa_tao 2015-08-20
  • 打赏
  • 举报
回复
关键在于如何获取View类的指针,如下所示:获取View类指针,并将View类数据 传入新的对话框中。 // 此函数为单位档,菜单命令响应函数 void CMainFrame::OnDialog() { //获取View类指针,修改View类数据 CMainFrame *pMain=(CMainFrame *)AfxGetApp()->m_pMainWnd; CTestView *pView=(CTestView *)pMain->GetActiveView(); pView->m_strText="Hello VC++"; //View类数据传人新的对话框中 //新的对话框,显示前加载传入的数据即可,例如OnPaint CTestDia dlg; dlg.str=pView->m_strText; dlg.DoModal(); }
zgl7903 2015-08-19
  • 打赏
  • 举报
回复
在创建好对话框的时候将ListCtrl的句柄传递给View, 这样View可以直接操控控件了 或者View中发送消息,对话框中接收和更新控件
Eleven 2015-08-19
  • 打赏
  • 举报
回复
你对话框和你的View有什么关联没有?如果你的对话框是在View类的某一个函数中创建或者初始化的话,那么你可以将需要的数据作为对话框类的构造函数的参数传递给对话框的类。如果对话框和view没有关联的话,可以通过主框架窗口来中转,因为在View和对话框中都可以AfxGetMainWnd()获取主框架窗口的CWnd指针。

16,371

社区成员

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

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

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