分割视图的管理

goldolphin 2001-07-17 03:55:15
我想编一个MFC程序,使用分割视图,窗口客户区分为左右两个视图,左视图接受输入,右视图输出信息,请教各位:
1。应如何管理两视图的数据交换。
2。如何在输出视图类外(如窗口类or输入视图类中)控制输出视图的输出。我曾试过在别的类中得到其窗口句柄,再得到其DC,但发现当输出信息超出视图范围时,没有出现滚动条。
...全文
170 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cchuocp 2001-07-18
  • 打赏
  • 举报
回复
问题2:不能在别的类中得到其窗口句柄,再得到其DC,进行输出,否则窗口一切换,输出就没有了。必须把数据写入CDocument,然后调用CDocument的UpdateAllViews,最后在CView的OnDraw中从 CDocument中取数据并显示。进行数据交换可用同样办法,并用zhoutler(周进宝)的回复中的方法优化速度。
捕鲸叉 2001-07-17
  • 打赏
  • 举报
回复
一个最简单的w例子:
在MainFrm中通过 splitter->getpane()分别茯取两个视的指针
这样就可以很方便地传送数据了
支持中文哦 2001-07-17
  • 打赏
  • 举报
回复
1.mfc 的精华就是document/view架构,利用它吧! 在CYourDocument中定义UAV_GETDATA,UAV_SETDATA;于是可在CAView调用GetDoc()->UpdateAllViews(NULL,UAV_SETDATA,NULL);在CBView的虚拟函数OnUpdate(LPARAM lData){if(lData & UAV_SET_DATA)!=0){//进行数据显示操作,当然数据以公有数据保存在CYourDocument中};同样的道理可在CBView中调用函数与CAView进行数据交换;
2.看懂了第一个回答,就不用再问了!!!

JerryGR 2001-07-17
  • 打赏
  • 举报
回复
1. 通过CMainFrame得到两个视图的指针,这样即可实现数据的交换。
2. 设定一下ScrollSize即可实现。

16,472

社区成员

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

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

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