| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2059 人关注过本帖
标题:请教:谁能给我详细讲解一下单文档多视图啊?
只看楼主 加入收藏
juzi4003
Rank: 1
等 级:新手上路
帖 子:72
专家分:0
注 册:2006-8-22
收藏
 问题点数:0 回复次数:16 
请教:谁能给我详细讲解一下单文档多视图啊?
大家好:

哪位能给我详细的讲一下单文档多视图中,各个视图之间的通讯以及与文档的通讯啊?
我用的静态切分单文档窗口,用了四个CFormView类的派生类,但是不会在它们之间通讯.
谢谢啊!
搜索更多相关主题的帖子: 视图 文档 下单 讲解 通讯 
2006-09-21 21:25
myajax95
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:30
帖 子:2978
专家分:0
注 册:2006-3-5
收藏
得分:0 
基本的通信方式是各视图(View class)直接和文档(document class)通信。一个view class要修改文档的时候先通知document class,如果document class同意,并更新了文档,那么这个view自己修改自己。同时让document class UpdateAllViews(this)。写this是告诉document class这个Update信息是这个View发出来的。不需要再更新它了。这样其他所有的View们会被document class一个一个的叫OnUpdate()。
当然通过FrameWork(CMainFrame)或者document class一个view class也可以找到其他的view class。像你的程序把CMainFrame切成四块,一个View Class找到CMainFrame里面的splitter,然后(CFormView *)GetPane(m,n)就可以得到不同View的指针了。不过需要注意通讯最好是用PostMessage或者SendMessage。直接call别的view的public function不保证不出问题。

http://myajax95./
2006-09-22 07:46
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 

无论多少个view,单文档都只是共享一个document

你的view可以根据你静态分割时的IdFromRowCol来得到ID,然后GetDlgItem


[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-09-22 07:56
juzi4003
Rank: 1
等 级:新手上路
帖 子:72
专家分:0
注 册:2006-8-22
收藏
得分:0 
有没有一个简单点的例子让我参考一下呢?
我主要是不知道要在哪里定义视图对象,在哪里对它们进行调用和操作,

很幼稚的问题吧,
不过我看了那些书,都没有很明了的讲解这些,
要不推荐几本书看看吧,

谢谢各位前辈了!
2006-09-22 08:51
myajax95
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:30
帖 子:2978
专家分:0
注 册:2006-3-5
收藏
得分:0 
1B1pbLqe.rar (40.39 KB) 请教:谁能给我详细讲解一下单文档多视图啊?


试试这个,左边的按钮点一下。左边的函数会叫document class去操作click,然后UpdateAllView()。
UpdateAllView会叫右边的View去OnUpdate(),右边的View就可以显示点击次数了。

http://myajax95./
2006-09-22 12:18
juzi4003
Rank: 1
等 级:新手上路
帖 子:72
专家分:0
注 册:2006-8-22
收藏
得分:0 

好的,先谢谢你了!

2006-09-22 13:06
Bekky
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:354
专家分:0
注 册:2006-5-29
收藏
得分:0 
http://www.

我的编译环境为WinXp + VC 6.0 http://blog..cn/yobo
2006-09-22 16:55
juzi4003
Rank: 1
等 级:新手上路
帖 子:72
专家分:0
注 册:2006-8-22
收藏
得分:0 
谢谢啊!
YuJ9QHze.rar (54.67 KB) 请教:谁能给我详细讲解一下单文档多视图啊?



我把我的程序传上来,
麻烦各位仁兄给看看,

我还是没有看懂要怎么才能对它们进行处理!

谢谢啊!
2006-09-23 18:37
myajax95
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:30
帖 子:2978
专家分:0
注 册:2006-3-5
收藏
得分:0 
不知道要打开的文件的格式。你先在所有的View里用class wizard把OnUpdate()函数加上。然后看我给你的那个例子里。UpdateAllView()和OnUpdate()怎么写的就应该差不多明白了。试试看。

http://myajax95./
2006-09-26 13:04
juzi4003
Rank: 1
等 级:新手上路
帖 子:72
专家分:0
注 册:2006-8-22
收藏
得分:0 

好的,谢谢你啊!

就光加上OnUpdate()函数就可以了?

我现在改进了点,

我想实现“先点击工具按钮,并且让他处于按下状态,然后在视图窗口中单击鼠标左键,这时工具按钮弹起,并且窗口中画出图形,而且能够得到点或矩形的坐标,(把他们能够输出到编辑控件里),
如果点的坐标用三维的形式要怎么实现呢?
什么坐标系统下支持三维坐标系呢?
这样怎么做才能实现呢?
谢谢啊!

2006-09-26 16:01
快速回复:请教:谁能给我详细讲解一下单文档多视图啊?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021100 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved