⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mdiframes.cpp

📁 初学者可以了解VC++界面参考代码 掌握别人的方法
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// MdiFrames.cpp : implementation file
//

#include "stdafx.h"
#include "TabWnd.h"
#include "MdiFrames.h"

#include "DummyTree.h"
#include "DummyList.h"
#include "DummyEdit.h"
#include "DummyForm.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CSimpleViewFrame

IMPLEMENT_DYNCREATE(CSimpleViewFrame, CMDIChildWnd)

CSimpleViewFrame::CSimpleViewFrame()
{
}

CSimpleViewFrame::~CSimpleViewFrame()
{
}


BEGIN_MESSAGE_MAP(CSimpleViewFrame, CMDIChildWnd)
	//{{AFX_MSG_MAP(CSimpleViewFrame)
	ON_WM_DESTROY()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSimpleViewFrame message handlers

BOOL CSimpleViewFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) 
{
	// TODO: Add your specialized code here and/or call the base class
  TVisualObject *pView = new TVisualObject(1,pContext,RUNTIME_CLASS(CDummyList));
  
  m_Framework.Add(pView);
  
  return m_Framework.Create(this);
	//return CMDIChildWnd::OnCreateClient(lpcs, pContext);
}
void CSimpleViewFrame::OnDestroy() 
{
	CMDIChildWnd::OnDestroy();
	
	// TODO: Add your message handler code here
  m_Framework.Destroy();
	
}

/////////////////////////////////////////////////////////////////////////////
// CSplitterFrame

IMPLEMENT_DYNCREATE(CSplitterFrame, CMDIChildWnd)

CSplitterFrame::CSplitterFrame()
{
}

CSplitterFrame::~CSplitterFrame()
{
}


BEGIN_MESSAGE_MAP(CSplitterFrame, CMDIChildWnd)
	//{{AFX_MSG_MAP(CSplitterFrame)
	ON_WM_DESTROY()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSplitterFrame message handlers

BOOL CSplitterFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) 
{
	// TODO: Add your specialized code here and/or call the base class
  // Simple splitter (1 row, 2 columns)
  TVisualObject *pSplitter = new TVisualObject(1,"Test", 1, 2, pContext);
  TVisualObject *pView1 = new TVisualObject(2,0,0,pContext, RUNTIME_CLASS(CDummyTree), CSize(150,0));
  TVisualObject *pView2 = new TVisualObject(3,0,1,pContext, RUNTIME_CLASS(CDummyEdit), CSize(0,0));
  
  m_Framework.Add(pSplitter);
  m_Framework.Add(pSplitter, pView1);
  m_Framework.Add(pSplitter, pView2);
  
  return m_Framework.Create(this);
	
	//return CMDIChildWnd::OnCreateClient(lpcs, pContext);
}

void CSplitterFrame::OnDestroy() 
{
	CMDIChildWnd::OnDestroy();
	
	// TODO: Add your message handler code here
  m_Framework.Destroy();
}
/////////////////////////////////////////////////////////////////////////////
// CSimpleTabFrame

IMPLEMENT_DYNCREATE(CSimpleTabFrame, CMDIChildWnd)

CSimpleTabFrame::CSimpleTabFrame()
{
}

CSimpleTabFrame::~CSimpleTabFrame()
{
}


BEGIN_MESSAGE_MAP(CSimpleTabFrame, CMDIChildWnd)
	//{{AFX_MSG_MAP(CSimpleTabFrame)
	ON_WM_DESTROY()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSimpleTabFrame message handlers

BOOL CSimpleTabFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) 
{
	// TODO: Add your specialized code here and/or call the base class
  // Simple tab with 2 panes
  TVisualObject *pTab = new TVisualObject(1,"",pContext,RUNTIME_CLASS(TTabWnd));
  TVisualObject *pTabView1 = new TVisualObject(2,"Cars",pContext,RUNTIME_CLASS(CDummyList));
  TVisualObject *pTabView2 = new TVisualObject(3,"Fruits", pContext,RUNTIME_CLASS(CDummyTree));

  m_Framework.Add(pTab);
  m_Framework.Add(pTab, pTabView1);
  m_Framework.Add(pTab, pTabView2);

  return m_Framework.Create(this);
	
	//return CMDIChildWnd::OnCreateClient(lpcs, pContext);
}

void CSimpleTabFrame::OnDestroy() 
{
	CMDIChildWnd::OnDestroy();
	
	// TODO: Add your message handler code here
  m_Framework.Destroy();
}
/////////////////////////////////////////////////////////////////////////////
// CSplitterTabFrame

IMPLEMENT_DYNCREATE(CSplitterTabFrame, CMDIChildWnd)

CSplitterTabFrame::CSplitterTabFrame()
{
}

CSplitterTabFrame::~CSplitterTabFrame()
{
}


BEGIN_MESSAGE_MAP(CSplitterTabFrame, CMDIChildWnd)
	//{{AFX_MSG_MAP(CSplitterTabFrame)
	ON_WM_DESTROY()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSplitterTabFrame message handlers

BOOL CSplitterTabFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) 
{
	// TODO: Add your specialized code here and/or call the base class
  // Splitter (1 row, 2 columns). Second column is a tab with 2 panes
  TVisualObject *pSplitter = new TVisualObject(1,"Test", 1, 2, pContext);
  TVisualObject *pView1 = new TVisualObject(2,0,0,pContext, RUNTIME_CLASS(CDummyTree), CSize(150,0));
  TVisualObject *pTab = new TVisualObject(3,0,1,pContext, RUNTIME_CLASS(TTabWnd), CSize(0,0));
  TVisualObject *pTabView1 = new TVisualObject(4,"Cars",pContext,RUNTIME_CLASS(CDummyList));
  TVisualObject *pTabView2 = new TVisualObject(5,"Fruits", pContext,RUNTIME_CLASS(CDummyTree));

  m_Framework.Add(pSplitter);
  m_Framework.Add(pSplitter, pView1);
  m_Framework.Add(pSplitter, pTab);
  m_Framework.Add(pTab, pTabView1);
  m_Framework.Add(pTab, pTabView2);
	
  return m_Framework.Create(this);

  //return CMDIChildWnd::OnCreateClient(lpcs, pContext);
}

void CSplitterTabFrame::OnDestroy() 
{
	CMDIChildWnd::OnDestroy();
	
	// TODO: Add your message handler code here
  m_Framework.Destroy();
}
/////////////////////////////////////////////////////////////////////////////
// CTabSplitterFrame

IMPLEMENT_DYNCREATE(CTabSplitterFrame, CMDIChildWnd)

CTabSplitterFrame::CTabSplitterFrame()
{
}

CTabSplitterFrame::~CTabSplitterFrame()
{
}


BEGIN_MESSAGE_MAP(CTabSplitterFrame, CMDIChildWnd)
	//{{AFX_MSG_MAP(CTabSplitterFrame)
	ON_WM_DESTROY()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CTabSplitterFrame message handlers

BOOL CTabSplitterFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) 
{
	// TODO: Add your specialized code here and/or call the base class
  // Tab. First pane is edit view. Second pane is a splitter (1 row, 2 columns)
  TVisualObject *pTab = new TVisualObject(1,"",pContext,RUNTIME_CLASS(TTabWnd));
  TVisualObject *pTabView1 = new TVisualObject(2,"Edit", pContext, RUNTIME_CLASS(CDummyEdit));
  TVisualObject *pTabView2 = new TVisualObject(3,"Cars && Fruits", 1,2,pContext);
  TVisualObject *pView1 = new TVisualObject(4,0,0,pContext, RUNTIME_CLASS(CDummyTree),CSize(100,0));
  TVisualObject *pView2 = new TVisualObject(5,0,1,pContext, RUNTIME_CLASS(CDummyList),CSize(0,0));

  m_Framework.Add(pTab);
  m_Framework.Add(pTab, pTabView1);
  m_Framework.Add(pTab, pTabView2);
  m_Framework.Add(pTabView2, pView1);
  m_Framework.Add(pTabView2, pView2);

  return m_Framework.Create(this);
	
	//return CMDIChildWnd::OnCreateClient(lpcs, pContext);
}

void CTabSplitterFrame::OnDestroy() 
{
	CMDIChildWnd::OnDestroy();
	
	// TODO: Add your message handler code here
  m_Framework.Destroy();
}
/////////////////////////////////////////////////////////////////////////////
// CComplexFrameA

IMPLEMENT_DYNCREATE(CComplexFrameA, CMDIChildWnd)

CComplexFrameA::CComplexFrameA()
{
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -