看过《深入浅出MFC》的进来!

PM0115 2003-11-28 01:06:53
我正在看《深入浅出MFC》第3章,除了第4节(永久保存机制)其它的几节我觉得大概都懂了。对永久保存机制我反复看了4次还是进展不大,请大家帮帮我吧!下面就是我看不懂的地方:
第1:125页

class cMyDoc:public CDocument
{
COblist m_graphlist;
CSize m_sizeDoc;
};

class CStroke:public CObject
{
CDWordArray m_ptArray; //怎么对直线类的定义是一个CDWordArray结构?
}; //是不是包含了直线起点和终点的X,Y坐标?

class CRectangle:public CObject
{
CRect m_rect; //请问CRect结构中有哪些成员?是不是矩形左上角的X,Y坐标和右
}; //下角的X,Y坐标

class CCircle:public CObject
{
CPoint m_center;
UINT m_radius;
}

第2:p126页

06 00 ;COblist elements cout

07 00 ;class name string length
43 53 74 72 67 6b 65 ;"CStroke"
02 00 ;DWordArray size #1
28 00 13 00 ;point #2
28 00 13 00 ;point #3

0A 00 ;class name string length
43 52 65 63 74 61 6E 67 6C 65 ;"CRectangle"
11 00 22 00 33 00 44 00 ;CRect #4

07 00 ;class name string length
43 43 69 72 63 6C 65 ;"CCircle"
55 00 66 00 77 00 ;CPoint&radius #5
请问上面的:
#1行是不是表示有2个双字?
#2行表示什么?(我觉得是表示直线的一个端点的X,Y坐标,但是下面的#3却一样!)
#3行表示什么?
#4行是不是表示矩形的左上角的X(11 00 ),Y(22 00 )坐标和右下角的X(33 00 ),Y(44 00)坐标?
#5行是不是用55 00 66 00 表示圆心的X,Y坐标?用77 00表示圆的半径?



第3:P127页

20 03 84 03 ;Document Size
06 00 ;COblist elements cout

FF FF ;new class tag #1
02 00 ;schema #2
07 00 ;class name string length
43 53 74 72 6F 6B 65 ;"CStroke"
02 00 ;DWordArray size
28 00 13 00 ;point
28 00 13 00 ;point

FF FF ;new class tag #3
01 00 ;schema #4
0A 00 ;class name string length
43 52 65 63 74 61 6E 67 6C 65 ;"CRectangle"
11 00 22 00 33 00 44 00 ;CRect

FF FF ;new class tag #5
01 00 ;schema #6
07 00 ;class name string length
43 43 69 72 63 6C 65 ;"CCircle"
55 00 66 00 77 00 ;CPoint&radius

01 80 ;old class tag #7
02 00 ;DWordArray size
28 00 35 00 ;Point
28 00 35 00 ;Point

03 80 ;old class tag #8
11 00 22 00 33 00 ;CRect

05 80 ;old class tag #9
55 00 66 00 77 00 ;CPoint&radius
请问上面的#1---#9分别表示什么意思啊?特别是#7,#8,#9
顺便给我讲讲P127与P126的区别与联系吧!我在这节已经卡了几天的壳了!!!
谢谢了!
...全文
57 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
PM0115 2003-12-01
  • 打赏
  • 举报
回复
哦!”#1“到“#7”这几个标志是我加上去的,表示第几行!
PM0115 2003-12-01
  • 打赏
  • 举报
回复
真的没有人知道吗?
lsaturn 2003-11-30
  • 打赏
  • 举报
回复
我也不太清楚,感觉他说的硬盘里的数据好象不太对劲!
PM0115 2003-11-30
  • 打赏
  • 举报
回复
好吧!我就问一下:
07 00 ;class name string length
43 53 74 72 67 6b 65 ;"CStroke"
02 00 ;DWordArray size #1
28 00 13 00 ;point #2
28 00 13 00 ;point #3
这上面的#1,#2,#3行是什么意思?
特别是#2,#3行,怎么是相同的?
如果#2行28 00 是直线一个端点的X坐标,那么13 00就是该端点的Y坐标,
但下面的#3行的数值怎么也是一样的呢?那另一个端点的X,Y坐标呢?

帮帮我吧!谢谢大家了!
crystal_heart 2003-11-30
  • 打赏
  • 举报
回复
先去找找修正版看,是不是这几个地方印刷有错误。
PM0115 2003-11-30
  • 打赏
  • 举报
回复
怎么?没有人知道吗?不可能吧!
weihuinext 2003-11-29
  • 打赏
  • 举报
回复
看不懂
rinoe 2003-11-29
  • 打赏
  • 举报
回复
基本上看不懂…………
zuhuisu 2003-11-29
  • 打赏
  • 举报
回复
#1#2#3...是COBLIST,Serialize的结果,在这之间是每个对象Serialize的具体结果,
如:要将CRECT对象Serialize(存储),就是保存它的四个点(可由设计者决定),对于COBject下继承的类对象的Serialize将存储类名用于RUNTIMECLASS,....
stanly20000 2003-11-29
  • 打赏
  • 举报
回复
我的建议是如果你是初学vc,第三章的这一部分先不要看,先把其它几个机制看完。然后接着看第四章。因为这个部分涉及的东西较多。当你看到后面几章,看到真正完全讲永久保存机制
这一部分时,你已有了doc/view的概念了,知道mfc的工作机理了。你在返回来看第三章的这一部分,会发现很简单。我当初就是这样的。我想主要原因是,第三章的这一部分太抽象,而后面讲永久保存机制时结合了具体的实例。(我觉得没有必要研究这些文件格式,因此我不想正面回答)
我要飞得更高 2003-11-29
  • 打赏
  • 举报
回复
第一行 是说DWordArray size 数组的大小
第四行表示 CRECT的四个点
PM0115 2003-11-29
  • 打赏
  • 举报
回复
其他人呢?来看看吧!请稍微详细点。谢谢了!
gaooo 2003-11-28
  • 打赏
  • 举报
回复
7.8.9表示前边以定义过的,

new class tag 、 schema 、 class name string length、
还有代表类名的象43 43 69 72 63 6C 65 ;"CCircle"这句就可以省了,
只是圆要定义圆心,半径,三角要定义作标等等。
bmon_xyz 2003-11-28
  • 打赏
  • 举报
回复
没仔细看,帮你UP
wsy2001 2003-11-28
  • 打赏
  • 举报
回复
你是看的电子教程吗?
PM0115 2003-11-28
  • 打赏
  • 举报
回复
我用的就是第二版!但就是上面这些看不懂!
#1,#2...是我自己添加上去的!
typhoon20 2003-11-28
  • 打赏
  • 举报
回复
127和126的区别在第二版也有说明
126上的每写一个类都要写上类名
127用一个tag来表示是否为新类,
是新类,就写上类名,否则设一个tag表示旧类
typhoon20 2003-11-28
  • 打赏
  • 举报
回复
class CStroke:public CObject
{
CDWordArray m_ptArray; //怎么对直线类的定义是一个CDWordArray结构?
}; //是不是包含了直线起点和终点的X,Y坐标?
这里定义的CStroke好像是一段折线吧
兄弟,你的好像是第一版的阿
第二版没有#1,。。。9

16,472

社区成员

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

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

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