热情软件屋

 

打开文件失败后,为什么还有一个新的自窗口被创建


编号:QA004479
建立日期: 2001年11月11日 最后修改日期:2001年11月11日
所属类别:

zhangxingping:
    操作系统:win200
    编程工具:vc++6.0
    问题:我在一个由向导生成的多文档的程序中,对文档类的序列化操作中写如下的代码:
    if (ar.IsStoring())
     {
     // TODO: add storing code here
     if(this->m_CDib .Save (ar.GetFile ())==FALSE)
     AfxMessageBox("Fail to save file !");
    
     }
     else
     {
     // TODO: add loading code here
     if(this->m_CDib .Load (ar.GetFile())==FALSE)
     AfxMessageBox("Faile to Load fiel !");
    
     }
    
    注释:m_CDib 是自己构造的CDib类的一个对象,把它作为改程序文档类的一个数据成员。CDib类中的文件加载函数(从文件中读取数据)原型如下
    BOOL Load(CFile * );
    :数据加载成功,返回TRUE,
    :否则返回FALSE;
    : 只支持位图文件的数据格式
    CDib类的保存数据的成员函数原型为:
    BOOL Save(CFile *)
    : 数据保存成功,返回TRUE;
    :否则返回FALSE;
    :只支持位图文件的数据格式
    该程序的View类中没有自己添加的任何代码。
    为什么在点击Open菜单,完成打开对话框(注意:所选的文件不是位图文件)后,在确实出现了
     AfxMessageBox("Faile to Load fiel !");
    对话框之后,还有一个新的自窗口被创建。怎么才能不创建这个子窗口(因为文件打开失败了!)?谢谢指点。
    水平: 刚入门

回答:

    首先,如果载入文件失败,必须有一个标记(比如 m_CDib 的一个变量 );然后在该 CDocument 子类中的 OnOpenDocument() 中判断这个标记,如果失败则返回FALSE即可。

此问题由John Han回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio