To 刘志强朋友:
看来兄台的C++语言的基础不算太好。“在相应的view类中定义一个CFontSheet类的对象时,程序出错”,问题显然出现在构造函数上。
你在CYourView 中定义变量CFontSheet m_FontSheet;
对象m_FontSheet作为类的成员变量时,如果该对象没有相应的default constructor的话,该对象必须在类中通过成员初始化列表进行初始化,
否则,就不可能正确地进行构造对象,也就无法通过编译!
从你给出的CFontSheet的两个构造函数可以看出,该对象没有default constructor ,因为两个构造函数的第一个参数都必须指定。
这使得必须在视图类中用成员初始化列表为该对象进行初始化!
CYourView:CYourView():
m_FontSheet("")//为构造函数指定第一个参数 pszCaption 为空值。
{
    //  add  another member initialization code here!}
说得很罗索。别生气!
另:该书在此程序上有一点印刷错误:p304
应该在视图的OnCreate()函数中添加代码:
         CHARFORMAT cf;
Format(cf);
m_rich.SetDefaultCharFormat (cf);
小弟也是一个菜鸟,也正在学习该书!希望能互相交流!
QQ:81824475
Email:[email protected]
我打字太慢