MFC单文档应用程序 嵌入对话框分割窗口

分割窗口的操作

  • 添加几个对话框,设置对话框属性
    在这里插入图片描述

  • 给对话框添加关联的类,基类为CFrameView,注意不是CDialogEX

  • 给CMainFrame类添加CSplitterWnd类对像splitter

  • CMainFrame类包含头文件

#include"切割窗口Doc.h"
#include"切割窗口View.h"//Doc类一定要在View类上面
#include"RDlg.h"//要嵌入的两个对话框对应的类
#include"LDlg.h"
  • 使用类向导重写OnCreateClient函数
    在这里插入图片描述
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
	// TODO: 在此添加专用代码和/或调用基类
	CRect rect;

	GetClientRect(rect);


	splitter.CreateStatic(this, 1, 2, WS_CHILD | WS_VISIBLE | WS_BORDER);
	

	splitter.CreateView(0, 0, RUNTIME_CLASS(RDlg), CSize(rect.Width()/2,rect.Height()/2), pContext);   //Ctest是对话框类
	splitter.CreateView(0, 1, RUNTIME_CLASS(LDlg), CSize(rect.Width() / 2, rect.Height() / 2), pContext);   //Ctest是对话框类
	
	return true;
}

运行结果
在这里插入图片描述

关于CSplitterWnd类

1、创建动态切分窗口

BOOL Create(CWnd* pParentWnd,int nMaxRows,int nMaxCols,SIZE sizeMin,CCreateContext* pContext,DWORD dwStyle,UINT nID);

2、创建静态切分窗口

BOOL CreateStatic(CWnd* pParentWnd,int nRows,int nCols,DWORD dwStyle,UINT nID)

3、为静态切分的窗口网格填充视图

BOOL CreateView (int row,int col,CruntimeClass* pViewClass,SIZE sizeinit,CcreateContext* pContext); 

4、参数说明
pParentWnd 切分窗口的父框架窗口。
nMaxRows,nMaxCols是创建的最大的列数和行数。
sizeMin是窗格的现实大小。
pContext 大多数情况下传给父窗口。
nID是字窗口的ID号.
通常创建静态切分窗口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值