建立一个单文档项目,叫做FrameTest
VS2008自动生成类
CFrameTestApp
CFrameTestDoc
CFrameTestView
在CFrameTestView中放入了对话框DIALOG1.
新建了一个基于CView的类CRightShow,将对话框DIALOG2放入。
我在mainframe下重载了oncreateclient(),建立了一拆分视图,1行2列。分为CFrameTestCiew和CRightShow。运行出来是一个拆分窗口。当我点击移动整个窗口时,出现了刷新问题。就是鼠标点击移动一下窗口后,整个窗口会刷新成CFrameTestView,也就是整个界面会显示DIALOG1的内容而不是拆分视图,再移动一下又还原成拆分窗口视图,这是什么原因?我不想出现这种效果,想一直保持拆分视图,为什么点击移动会造成窗口刷新出这种问题

解决方案 »

  1.   

    在CFrameTestView中放入了对话框DIALOG1.
    不要用原来的CFrameTestView,重新创建一个基于CView的类CLeftShow,将对话框DIALOG1放入。
    拆分视图的时候,加载CLeftShow和CRightShow。
      

  2.   

    终于找出问题所在了,是在建立拆分窗口时return CFrameWndEx::OnCreateClient(lpcs, pContext);
    这一句在作怪,只需要注释这一句,然后return true;就OK了,以前没注意,真是无语