treetoolbar.cpp

来自「深入浅出Visual C++入门进阶与应用实例 随书光盘 作者 何志丹」· C++ 代码 · 共 82 行

CPP
82
字号
// TreeToolBar.cpp: implementation of the CTreeToolBar class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "TreeToolBar.h"

#include "Resource.h"

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

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CTreeToolBar::CTreeToolBar()
{

}

CTreeToolBar::~CTreeToolBar()
{

}

BEGIN_MESSAGE_MAP(CTreeToolBar, CDialogBar)
//{{AFX_MSG_MAP(CTreeToolBar)
	ON_WM_CREATE()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()


CTreeToolBar::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	if (CDialogBar::OnCreate (lpCreateStruct) == -1)
		return -1;
	
	m_treeDlg.Create(CTreeDlg::IDD,this);
	m_treeDlg.ShowWindow(SW_SHOW);	

	return 0;
}

//封装一下,减少入口参数
BOOL CTreeToolBar::Create(CWnd *pParentWnd, UINT nStyle)
{
	m_treeDlg.SetAccepctMessageWnd(pParentWnd);
	//注意:IDD_NULL必须足够大,否则限制控件的最大面积
	return CDialogBar::Create(pParentWnd,IDD_NULL,nStyle,0);
}

CMainData* CTreeToolBar::SetMainData(CMainData *pData)
{
	return m_treeDlg.m_treeCtrl.SetMainData(pData);
}



CSize CTreeToolBar::CalcDynamicLayout( int nLength, DWORD dwMode )
{
	CSize size = CDialogBar::CalcDynamicLayout( nLength,  dwMode );
	if(NULL != m_treeDlg.GetSafeHwnd())
	{
		CRect rFrm;
		CFrameWnd * pFrm = GetDockingFrame();
		ASSERT(NULL != pFrm ) ;
		pFrm->GetClientRect(&rFrm);	
		CRect r ;
		GetClientRect(&r);
		rFrm.right = r.right ;//宽度不会改变
		MoveWindow(&rFrm);  //本身也要移动
		m_treeDlg.MoveWindow(&rFrm);
	}
	return size ;
}


⌨️ 快捷键说明

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