在单文档中插入对话框的操作

  由于需要在单文档中输入东西,所以学习一下视图分割的些许内容。

1.首先,在MainFrm.h中插入CsplitterWnd m_splitter;

  1. protected: // 控件条嵌入成员
  2. CToolBar m_wndToolBar;
  3. CStatusBar m_wndStatusBar;
  4. CSplitterWnd m_splitter;
  5. // 生成的消息映射函数


2.接下就是添加对话框了,打开资源视图。右键选择Dialog,插入Dialog。

在单文档中插入对话框的操作

接着会产生一个对话框,在属性中将对话框的style设为child。

在单文档中插入对话框的操作

3.为对话框添加类,右键单击对话框,选择添加类。类名自己随意输入,不过基类一定要选择CFormView。

在单文档中插入对话框的操作

4.接着就是将对话框添加到视图中去了。如果你在新建mfc时选择了拆分窗口,在Mainfrm中会有一个OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)函    数。这是一个虚函数,没有的话可以通过类向导添加。在Mainfrm.cpp中加入几个头文件。

  1. #include "MFCApplication1Doc.h"
  2. #include "MFCApplication1View.h"
  3. #include "Control.h"//新建立的对话框类
5.重载OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)

  1. BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs,
  2. CCreateContext* pContext)
  3. {
  4. if (!m_splitter.CreateStatic(this, 1, 2))//一行两列
  5. return false;
  6. m_splitter.CreateView(0, 0, RUNTIME_CLASS(CMFCApplication1View), CSize(600, 100), pContext);
  7. m_splitter.CreateView(0, 1, RUNTIME_CLASS(Control), CSize(100, 100), pContext);
  8. return true;
  9. }
6.
在单文档中插入对话框的操作


此文档转载自 https://blog.****.net/gxmirror_lee/article/details/65938187