看过<<VC技术内幕>>的朋友请进来!一个关于视图类的问题----在线等侯!

xiaozhou66 2002-07-11 03:50:27
<<技术内幕>>十九章开始讲切分窗口的问题,老弟我有两个问题想请教

1、在EX19A的例子中,出现CLogScrollView类和CStringView类。我不知道它们的头文件和实现文件是怎样创建的?
  CLogScrollView类的.cpp表明该类是派生于CView类,而在CLassWizard中却看不到CLogScrollView类,为什么?
  CStringView类派生于CLogScrollView,而它在CLassWizard中能看见?
  
2、在讲解EX19B时,作者说“我们对EX19A进行了扩充,在其中定义了第二个视图类,并且允许对窗口进行静态切分,以便在其中显示两个视图”。难道EX19A的CLogScrollView类和CStringView类中的CLogScrollView类不是视图类吗?为什么?


一团浆糊、一团浆糊!大伙儿救救我吧!
...全文
26 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaozhou66 2002-07-17
  • 打赏
  • 举报
回复
真对不起大伙,分本来早再7.13日就加上了。可怜我今天到CSDN上一看,却发现没有结。真是对不住了!谢谢大家!

结!!!
xiaozhou66 2002-07-17
  • 打赏
  • 举报
回复
真对不起大伙,分本来早再7.13日就加上了。可怜我今天到CSDN上一看,却发现没有结。真是对不住了!谢谢大家!

结!!!
Wargod2002 2002-07-12
  • 打赏
  • 举报
回复
AppWizard step6就可以改啊
xiaozhou66 2002-07-12
  • 打赏
  • 举报
回复
经过这番折腾,我的问题快结束了。最近提到的问题,关键在DECLARE_DYNCREATE()和IMPLEMENT_DYNCREATE()没删掉,因为CLogScrollView是个抽象类。

最后一问:
  在新建一个工程(exe)时,怎样改它默认的视类、文档类文件的名字呢?
Wargod2002 2002-07-12
  • 打赏
  • 举报
回复
是啊,我刚开始学的时候也是这样,只好上网问问,但
总是得不到解答,郁闷
xiaozhou66 2002-07-12
  • 打赏
  • 举报
回复
这贴子都发得我没劲了。周围暂时没有朋友懂这玩意,只好网上求助。唉,学东西,环境真重要!这样子问下去时间可消遣不起。

Wargod2002:
你这样说,我觉得很惭愧,因为我的基础实在不好。
  SLogScrollView由于virtual void OnDraw(CDC* pDC) = 0;的关系变成了抽象类,而它又派生于CView类.以前我只知道从ADT中派生ADT呢。
  糊涂!
Wargod2002 2002-07-12
  • 打赏
  • 举报
回复
xiaozhou66(云淡风轻):
会利用工具是好的,但也不要过于依赖工具
不过你这种一定要弄清楚问题的精神是好的,我是
非常羡慕地
xiaozhou66 2002-07-12
  • 打赏
  • 举报
回复
呵呵!SunLi,我收到你信了。谢谢!
xiaozhou66 2002-07-12
  • 打赏
  • 举报
回复
呵呵,SunLi,我收到你的信了。多谢!
给大伙说说,CStringView是创建工程时就生成的,只不过改了名字,且成为了SLogScrollView的派生类。
xiaozhou66 2002-07-12
  • 打赏
  • 举报
回复
SunLi:
你告诉我ncb,aps,opt是什么文件吧。多谢了!
飞鸟:
 我把代码发来了。最初的问题我已解决了。CLogScrollView是从外部添加的文件。
 我想知道外部文件是怎样实现SLogScrollView的:SLogScrollView是CView的派生类,它的OnDraw函数的处理我实在是不明白。
我们来模拟那个CLogScrollView的.cpp文件,因它是由CView派生来的,我们依葫芦画瓢,把该.cpp文件的虚函数OnDraw也删除。然后,在其头文件添加protected:
virtual void OnDraw(CDC* pDC) = 0; // pass on pure virtual。
可怜,complie又出问题了。
error C2259: 'CSLogScrollView' : cannot instantiate abstract class due to following members:
e:\luof\myvc\444\LogScrollView.h(13) : see declaration of 'CLogScrollViewView'
  为什么?这些关系我总是很糊涂的。望指点!
SunLi 2002-07-12
  • 打赏
  • 举报
回复
hi,你好
xiaozhou66 2002-07-12
  • 打赏
  • 举报
回复
Thank you!
Juventus 2002-07-11
  • 打赏
  • 举报
回复
feiph@etang.com
原码我看看
xiaozhou66 2002-07-11
  • 打赏
  • 举报
回复
Wargod2002:
哟!你挺牛的嘛!你干嘛不用0和1来写代码呀!
Wargod2002 2002-07-11
  • 打赏
  • 举报
回复
不出来就不出来贝,为什么要它出来?
classwizard做的那些消息映射的工作都是可以
手工完成地
xiaozhou66 2002-07-11
  • 打赏
  • 举报
回复
Wargod2002:
不是程序复杂不复杂的问题,你没把问题说明白呀!
e2wugui(wu) :
  workspace里能看见这两个类。但你用classwizard只看见
CStringView,却看不见CLogScrollView.
e2wugui 2002-07-11
  • 打赏
  • 举报
回复
1, 如 Wargod2002(Wargod2002) 所言,如果不行,还有.ncb .opt 有一个要关闭vc,
经验:如果类树那里看不到某个类,就打开那个文件,改动一下类名,vc会及时更新。
另外项目里面的没用的文件应该清除干净,否则可能有冲突。

2,CLogScrollView类和CStringView类是视图类。
作者可能把继承来的看成一个了,
Wargod2002 2002-07-11
  • 打赏
  • 举报
回复
不用了吧?
我觉得这应该不会是复杂的程序
xiaozhou66 2002-07-11
  • 打赏
  • 举报
回复
WarGod:
 你若有兴趣,给我你的EMAIL吧。我发给你源码!
Wargod2002 2002-07-11
  • 打赏
  • 举报
回复
1.把clw文件删掉再打开classwizard加一遍就可以了
2.我没看过这书,不过切分视图后就可以同时显示多个
视图了

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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