splitterwndex.cpp

来自「实现了无线传感器网络中的一个路由协议算法。」· C++ 代码 · 共 72 行

CPP
72
字号
// SplitterWndEx.cpp: implementation of the CSplitterWndEx class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "SplitterWndEx.h"

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

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
BEGIN_MESSAGE_MAP(CSplitterWndEx, CSplitterWnd)	
END_MESSAGE_MAP()
CSplitterWndEx::CSplitterWndEx()
{
	CSplitterWnd::CSplitterWnd();
	m_pwndSplitter = NULL;
}

CSplitterWndEx::~CSplitterWndEx()
{
	if(m_pwndSplitter != NULL)
		delete m_pwndSplitter;
}

// 创建T型分割
BOOL CSplitterWndEx::CreateSplit(CWnd *pParent, CRuntimeClass *pView1, CRuntimeClass *pView2, CRuntimeClass *pView3, CCreateContext* pContext)
{
	CRect rc;	
	this->CreateStatic(pParent, 2, 1);
	this->CreateView(0, 0, pView1, CSize(0, 300), pContext);

	m_pwndSplitter = new CSplitterWnd;

	m_pwndSplitter->CreateStatic(this, 1, 2, WS_CHILD | WS_VISIBLE , this->IdFromRowCol(1, 0));
	m_pwndSplitter->CreateView(0, 0, pView2, CSize(520, 0), pContext);
	m_pwndSplitter->CreateView(0, 1, pView3, CSize(520, 0), pContext);

	return TRUE;
}
void CSplitterWndEx::SetPaneSize(int h1, int w2, int w3)
{
	SetRowInfo(0, h1, 0);
	m_pwndSplitter->SetColumnInfo(0, w2, 0);
	m_pwndSplitter->SetColumnInfo(1, w3, 0);
}

void CSplitterWndEx::GetPaneSize(int *ph1, int *pw2, int *pw3)
{	
	int min;
	this->GetRowInfo(0, *ph1, min);
	m_pwndSplitter->GetColumnInfo(0, *pw2, min);
	m_pwndSplitter->GetColumnInfo(1, *pw3, min);
}

CWnd* CSplitterWndEx::GetUpperPane()
{
	return (GetPane(0, 0));
}



CWnd* CSplitterWndEx::GetLeftBottomPane()
{
	return (m_pwndSplitter->GetPane(0, 0));
}

⌨️ 快捷键说明

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