我在这里找到一个关于将splitter边的比较flat一点的程序:
http://www.codeproject.com/splitter/flatsplitter.asp#xxxx
然后我用在我的程序中,我切分的是上下窗口,上面是基于CHtmlView的,下面是基于CFormView的,但是程序运行后,却发现在上窗口和下窗口的四周有一点异样的东西,大概有一个象素宽度。看上去很让人不爽,大家帮我看看这是什么问题?
我的程序在这里可以下载到:
  http://www.olight.com.cn/temp/toucher.rar谢谢啦。

解决方案 »

  1.   

    要让splitter看起来flat很容易,不用去找什么类,mfc的splitter的绘图函数是个虚函数,你自己继承一个splitter,然后重写就可以了!!!!
      

  2.   

    我直接重载了 OnDrawSplitter,结果还是可以看到四周有其他东西出现。跟没有重画一样。奇怪!代码为:void CFlatSplitterWnd::OnDrawSplitter(CDC* pDC, ESplitType nType, const CRect& rectArg)
    {
    // Let CSplitterWnd handle everything but the border-drawing
    if((nType != splitBorder) || (pDC == NULL))
    {
    CSplitterWnd::OnDrawSplitter(pDC, nType, rectArg);
    return;
    } ASSERT_VALID(pDC); pDC->Draw3dRect(rectArg, GetSysColor(COLOR_BTNSHADOW), GetSysColor(COLOR_BTNHIGHLIGHT));
    }
      

  3.   

    试验了一下vcmute(横秋)说的.还是不行.