我想改变分割窗口时一些风格的问题,所以定义了一个类Splitter,继承自CSplitterWnd
然后重写了OnDrawSplitter()方法.在CMainFrame中,我定使用了Splitter定义一对象sp
Splitter sp;然后就在CMainFrame::OnCreateClient()中创建了分割窗口可运行时,只有左上角有一小块区域有视图,其它区域都透明的.可我在CMainFrame直接用CSplitterWnd 创建sp对象时,再运行就行了.后来我干脆在自定义类Splitter(继承自CSplitterWnd),删除重写的方法,什么也不做,只是继承一下基类.
在CMainFrame中,我还是使用了Splitter定义一对象sp
Splitter sp;
还是出现问题,这就怪了.....给我解个答案吧,累啊.

解决方案 »

  1.   

    刚刚可能说得复杂了,我再简单的说一下吧.
    如果直接用CSplitterWnd类去做,就正确.但我自定一新类,继承自CSplitterWnd,里面什么方法都不重载,只是简单的重载一下.
    再用新类去做,运行时,就只有左上角一小块了.
      

  2.   

    我没有发现这样的情况,如果有,就是没有绘制窗体,从你最初的情况来看就是这样;但是后来你又说删除了重载方法还这样就不应该了。检查一下,OnDrawSplitter是否调用了基类的方法。
      

  3.   

    六位QQ号?把工程发到我邮箱。CSplitterWnd我想我还是能解决的。
    [email protected]
      

  4.   

    是不是没有调用RecalcLayout()函数啊?看你描述的情况似乎是这样