添加自定义分割窗口类:CMySplitterWnd,派生于CSplitterWnd。在类向导中找不到CSplitterWnd,所以先选其基类为CWnd.其后在CMySplitterWnd的头文件中修改class CMySplitterWnd : public CWnd为class CMySplitterWnd : public CSplitterWnd。但若是仅仅修改这一步,不会其任何作用,还得修改消息映射(MySplitterWnd.cpp ):
BEGIN_MESSAGE_MAP(CSplitterWinex,CWnd)
ON_WM_MOUSEMOVE()
ON_WM_LBUTTONDOWN()
ON_WM_LBUTTONUP()
END_MESSAGE_MAP()
为:
BEGIN_MESSAGE_MAP(CSplitterWinex,CSplitterWnd)//重要
ON_WM_MOUSEMOVE()
ON_WM_LBUTTONDOWN()
ON_WM_LBUTTONUP()
END_MESSAGE_MAP()
查看BEGIN_MESSAGE_MAP的定义可知:BEGIN_MESSAGE_MAP(theClass, baseClass),其参数一个为类,另一个为其基类。所以在修改自定义类的基类时,应该做将原来的基类全部替换为现在的基类。