做图像压缩算法时遇到要把原图像和解压缩后的图像显示在不同的窗口中作比较,我是先用“打开”读入一图像并将它显示在视图中,如果不用SplitterWnd怎样才能单击菜单上自己添加的按钮如“图像解压缩”就能弹出一个新的窗口,而且这个新的窗口能显示解压图像?

解决方案 »

  1.   

    先打开一幅图像,有一个窗口。解压缩以后有了新的图像再新建文件,就可以有两一个窗口。就像WORD,打开一个文档,不是也可以新建一个文档。MDI不是就是专门为这个设计的?
      

  2.   

    我详细说明一下,我在文档类中添加
    void CMdiDoc::OnTest() 
    {
    // TODO: Add your command handler code here
    CMdiApp*App = (CMdiApp*)AfxGetApp();
    App->OnFileNew();
    m_process = 1;//说明这不是由新建产生而是由压缩产生的窗口
    }
    在视图类中添加
    void CMdiView::OnDraw(CDC* pDC)
    {
    CMdiDoc* pDoc = GetDocument();
    ASSERT_VALID(pDoc);
    // TODO: add draw code for native data here
    if(pDoc->m_process == 1)//如果是由压缩产生的窗口则输出下面文字
    pDC->TextOut(10,10,"test window!");
    }本来文字结果应该显示在后打开的窗口的,但是文字却在前一个窗口中显示。