窗口分割的必要性:有时候我们需要在一个窗口内显示不同的信息,类似于下图所示,每个窗口直接交互并不大,或者我们需要将一个exe嵌入到一个窗口中,这样就用到了窗口分割。窗口分割技术在MFC的单文档文件中比较容易实现,其他编程语言或者对话框可能也可以实现,但是实现起来比较复杂,与此同时没有现成的例子或者函数。
实现窗口分割的步骤:
(1)建立一个单文档程序:新建—项目—Visual C++—MFC应用程序,选择单文档,不需要拆分窗口,因为如果选择了拆分窗口,系统会给你定义一个窗口分割变量,不如自己直接定义可操作性强。这里我建立的程序名称叫DisplayCenter。
(2)在在MainFrm.h中添加分割窗口的变量声明。
//分割窗口变量
CSplitterWnd VSplitter; //用于纵向切割
CSplitterWnd HSplitter1; //用于横向切割
<span style="white-space:pre"> </span>CSplitterWnd HSplitter2; //用于横向切割
//标识窗口分割是否完成
<span style="white-space:pre"> </span>BOOL IsSplitDone;
为什么要定义三个分割窗口的变量呢?因为后面我们肯定要调整分割窗口的大小,如果你要设置的N个窗口一样大,那就完全没必要用多个分割窗口变量,但是往往我们分隔的窗口如图6所示,并非一样大,那么就需要定义几个不同的分割变量,来对应控制相应的大小,这个在后面会讲到。最后一个布尔型变量用于标志窗口分割是否已经完