VC6.0 单文本程序分割符二次分割

下载地址:https://download.csdn.net/download/shuails/10905766

基于上一篇基础之上:https://blog.csdn.net/shuaiLS/article/details/86078825

上一篇说明了简单分割窗体的过程,此次将说明二次分割过程

1.再创建一个Dialog,同样的将Styles设置成Child,None

2.添加对应的类CTestDialog01,具体请查看上一篇(注意基类选择FormView)

3.在MainFrm.cpp添加CTestDialog01类的头文件

#include "TestDialog01.h"

4.在MainFrm.h中添加第二个分割类的对象

CSplitterWnd	m_Splitter_Ex;

5.修改OnCreateClient代码如下:

BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) 
{
	if (!m_Splitter.CreateStatic(this, 1, 2))	//分割为1行2列
		return false;

	m_Splitter.CreateView(0, 1, RUNTIME_CLASS(CTestDialog), CSize(0,0), pContext);
	
	if (!m_Splitter_Ex.CreateStatic(&m_Splitter, 2, 1, WS_VISIBLE|WS_CHILD, m_Splitter.IdFromRowCol(0,0)))//分割为2行1列
		return false;

	m_Splitter_Ex.CreateView(0, 0, RUNTIME_CLASS(CMySingleTestView), CSize(0,0), pContext);
	
	m_Splitter_Ex.CreateView(1, 0, RUNTIME_CLASS(CTestDialog01), CSize(0,0), pContext);

	return true;
}

6.运行效果如下:

7.此时会发现界面中各窗体大小并不是我们想要的效果,此时需要设置分割区的大小,设置横向和纵向占窗体4/5

BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) 
{
	CRect rect;
	GetClientRect(&rect);
	int iwidth = rect.right;
	int iheight = rect.bottom;

	if (!m_Splitter.CreateStatic(this, 1, 2))	//分割为1行2列
		return false;

	m_Splitter.CreateView(0, 1, RUNTIME_CLASS(CTestDialog), CSize(0,0), pContext);
	m_Splitter.SetColumnInfo(0,iwidth/5*4,0);

	if (!m_Splitter_Ex.CreateStatic(&m_Splitter, 2, 1, WS_VISIBLE|WS_CHILD, m_Splitter.IdFromRowCol(0,0)))//分割为2行1列
		return false;

	m_Splitter_Ex.CreateView(0, 0, RUNTIME_CLASS(CMySingleTestView), CSize(0,0), pContext);
	m_Splitter_Ex.SetRowInfo(0,iheight/5*4,0);

	m_Splitter_Ex.CreateView(1, 0, RUNTIME_CLASS(CTestDialog01), CSize(0,0), pContext);

	return true;
}

8.运行效果如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值