【转】 MFC 分割窗体(Splitter Windows) 2011-03-20 18:32 转载自 651405842 最终编辑 drunkdream MFC 分割窗体(Splitter Windows) 文档描述 MFC中的 CSplitterWnd类,该类用来支持窗体的分割和管理分割后每一个子窗格(pane)的大小 1 分割窗体风格(Splitter Styles) CSplitterWnd类支持 2种不同风格的分割窗口 1
1 静态分割(static splitter) 分割的窗格(pane)在分割窗体(splitter window;)创建时创建,而且顺序,数量不会变化,分割控制条(Spli控制每个窗格的大小
通常不同的窗格是不同的视图类(view class); 例如 Visual C++graphics 和 Windows文件管理器就是这个风格的分割窗体; 该风格分割窗体不会用到分割格(splitter box) 1
2 动态分割(dynamic splitter) 当用户控制视图的分割或停止分割, 附加窗格会被创建或销毁; 这种动态分割开始于一个单独的视图,分割格box)用于初始化分割;当一个视图可以在 2个方向上被分割时,会有 3个新的视图被创建并显示为 3个新的窗格;当被激活(active)时,分割格(splitter box)会如同分割控制条(splitter bar)一样在各个窗格间被绘制;当用户除加窗格会被销毁,只有原来的视图(分割时位于 0行 0列位置的窗格)会被保留直到分割窗体本身被销毁; 例如 Microsoft Excel 和 Microsoft Word都是这种风格的分割窗体; 当创建任意一种风格的分割窗体时,必须给定分割窗体的最大的行列数; 静态风格的分割窗体,每个窗格必须被创建 CSplitterWnd::CreateView; 动