MFC应用的静态拆分窗口(VS2019)

这次呢,写一下拆分窗口的方法记录;
首先应用程序呢;
还是选择基于单文档的创建;
在这里插入图片描述

然后打开资源视图,找到Dialog这个文件夹,选择插入Dialog;
我插了两个;
在这里插入图片描述
在这里插入图片描述
然后呢,把这两个对话框的属性中;
style属性改成child;
border改成none;
记住两个都改!
然后可以添加一些自己想要的插件给这两个区分一下;
在这里插入图片描述
在这里插入图片描述
我给他写上左边和右边两个单词;
然后给这两个对话框添加类;
在这里插入图片描述
在这里插入图片描述

起好名字之后,基类选择FormView;确定就可以了;
然后在类视图中找到CMainframe();
双击进入;
在里面添加代码(我写到了protcted里面了);

CSplitterWnd m_wnd;

在这里插入图片描述
先要设置一下窗口大小;
上一篇有说过,所以直接上代码了;

	MoveWindow(0, 0, 800, 500);
	CenterWindow();

然后呢,找到CMainFrame属性中重写函数的OnCreateClient()选择ADD;
然后把它原有的给注释掉;
加上代码;

BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
	// TODO: 在此添加专用代码和/或调用基类

	//return CFrameWnd::OnCreateClient(lpcs, pContext);
	m_wnd.CreateStatic(this, 1, 2);
	m_wnd.CreateView(0, 0, RUNTIME_CLASS(DLG1), CSize(200, 500), pContext);
	m_wnd.CreateView(0, 1, RUNTIME_CLASS(DLG2), CSize(600, 500), pContext);
	ShowWindow(SW_SHOWMAXIMIZED);
	return TRUE;
}

这个代码的意思是:
第一行:给窗口分割成一行两列;
第二行:给第0行0列添加DLG1,并且占高200,宽500;
这样第三行就不难理解了吧,第四行显示,第五行是返回值;

最后再最上面加上头文件;

#include "DLG1.h"
#include "DLG2.h" 

然后就可以运行了;
在这里插入图片描述
这样一个单文档就被拆分了,而且还把我新建的两个对话框粘上去了;
可以再对话框里面添加一些控件;
进一步写出自己的程序;
在这里插入图片描述

OK,今天的就完成了,没问题了!

猜你喜欢

转载自blog.csdn.net/weixin_46726346/article/details/106763480