分割窗口成功后(子窗口是用CFormView继承下来的),现要将它们固定,我的思路是:一、新建一个类CSplitterMy,基类为CSplitterWnd(由于mfc类向导里没有CSplitterWnd父类,故选择CMDIChildWnd,然后将其改为CSplitterWnd);二、重载该类的OnMouseMove等函数:
void CSplitterMy::OnMouseMove(UINT nFlags, CPoint point)
{
      CWnd::OnMouseMove(nFlags, point); 
}void CSplitterMy::OnLButtonDown(UINT nFlags, CPoint point)
{
       CWnd::OnLButtonDown(UINT nFlags, CPoint point);
}BOOL CSplitterMy::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
{
         CWnd::OnSetCursor(pWnd, nHitTest, message);
}这样后,运行之,发现并没有固定,不知何缘故;是不是移动分割栏时候并没有调用到CSplitterMy的这些函数?于是,本人在CMainFrame里加了OnMouseMove()函数,写为:void CMainFrame::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值 CSplitterMy::OnLButtonDown(nFlags,point);}
结果可想而知,编译出错,本人初学,望高手指点!