我在没有关闭打印预览窗口的状态下,点×退出程序,结果提示异常?哪位知道原因阿??  退一步说,不知道所以然的情况下,怎么样在退出程序的时候,判断打印预览窗口是否关闭,以便在OnClose()中编写代码处理之!!!!  请各位不吝赐教,一定重谢!!!~~~~~~~~~~~~~~~~~~~~

解决方案 »

  1.   

    你是在CView中使用的打印玉兰吧? 那么他应该是有一个成员函数(或者变量),好象是叫做m_bPreview...
      

  2.   

    对阿,,但是没有找到那个变量,只是打印预览对英的ID_SYS_PRINT_PREVIEW
    那我该how  to do ???
    do
      

  3.   

    我刚刚看了我的代码,原来是CPrintInfo有一个成员变量叫做m_bPreview. 我是在玉兰开始时设顶了一个全局变量作为标志的。玉兰结束后修改这个全局变量。
      

  4.   

    to:DavidHowe() 
       看来阁下是这方面的高手了,(不是恭维),能否把代码稍微写一下,把意思表达清楚就好,,让我也豁然开朗一下:)谢!满分赠送以表谢意!!!
      

  5.   

    是只显示预览窗口,但是点击“关闭”按钮才是关闭打印预览窗口,,如果
    点击Single  Documents 的右上角的×,就出现了错误!怎么样通过
    m_bPreview来控制一个全局变量,并用之来判断预览窗口是否关闭呢??
      

  6.   

    how  to  do?God  save  me !!!
      

  7.   

    TO: joshua0137(joshua) 能否说详细点,谢谢!!
      

  8.   

    1.直接点击Single  Documents 的右上角的×,也不会出现错误。应该代码存在问题。2.即使一定要知道,定义一个变量m_bPreview记录就行了吧?
    在OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo)
    {...
    m_bPreview = pInfo->m_bPreview;
    }
      

  9.   

    OnEndPrinting(CDC* pDC, CPrintInfo* pInfo)
    {
    m_bPreview = FALSE;
    }
      

  10.   

    经过研究,发现是OnClose()中的一个是否真的要退出的MessageBox()弄的不能在预览不关闭的情况下退出程序?why?how  to  解决之??:(
      

  11.   

    更正,造成错误的原因,是OnClose()中,
    if(pThis->m_DengluDlg.daoDb.IsOpen())//pThis是CFuzeView的指针
        pThis->m_DengluDlg.daoDb.Close();为什么一加上这段代码就出错呢?
      

  12.   

    OnClose()中判断  m_preView.IsWindowEnable();