www.gusucode.com > VC++多文档树状控件菜单的应用示例-源码程序 > VC++多文档树状控件菜单的应用示例-源码程序/code/mybar.cpp

    // mybar.cpp : implementation file
// Download by http://www.NewXing.com

#include "stdafx.h"
#include "ctreecontrolbar.h"
#include "mybar.h"

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

/////////////////////////////////////////////////////////////////////////////
// mybar

mybar::mybar()
{
}

mybar::~mybar()
{
}


BEGIN_MESSAGE_MAP(mybar, CSizingControlBar)
	//{{AFX_MSG_MAP(mybar)
	ON_WM_CREATE()
	ON_WM_SIZE()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// mybar message handlers

void mybar::OnUpdateCmdUI(CFrameWnd *pTarget, BOOL bDisableIfNoHndler)
{
	UpdateDialogControls(pTarget, bDisableIfNoHndler);
}

int mybar::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	if (CSizingControlBar::OnCreate(lpCreateStruct) == -1)
		return -1;
	
	// TODO: Add your specialized creation code here
	m_TreeCtrl.Create(WS_VISIBLE | WS_TABSTOP | WS_CHILD | WS_BORDER
		| TVS_HASBUTTONS | TVS_LINESATROOT | TVS_HASLINES
		| TVS_DISABLEDRAGDROP|TVS_EDITLABELS|TVS_TRACKSELECT,
		CRect(10, 10, 300, 100), this, ID_TREECTRL);
	
	
	//	m_TreeCtrl.SetImageList(&m_images,TVSIL_NORMAL);
	// set "normal" GUI-font
	CFont *font = CFont::FromHandle((HFONT)::GetStockObject(DEFAULT_GUI_FONT));
	m_TreeCtrl.SetFont(font);
	
	HTREEITEM root = m_TreeCtrl.InsertItem("VCKBASE",0,0);
	HTREEITEM subroot1=m_TreeCtrl.InsertItem("程序员社区",1,1,root);
	HTREEITEM subroot2=m_TreeCtrl.InsertItem("文档中心",1,1,root);
	HTREEITEM subroot3=m_TreeCtrl.InsertItem("代码仓库",1,1,root);
	HTREEITEM subroot4=m_TreeCtrl.InsertItem("工具和资源",1,1,root);
	HTREEITEM subroot5=m_TreeCtrl.InsertItem("客服中心",1,1,root);
	HTREEITEM subroot6=m_TreeCtrl.InsertItem("个人专栏",1,1,root);
/*	
	m_TreeCtrl.SetItemImage(subroot1,1,0);
	m_TreeCtrl.SetItemImage(subroot2,1,0);	
	m_TreeCtrl.SetItemImage(subroot3,1,0);
*/	
	m_TreeCtrl.InsertItem("开发论坛",1,1,subroot1);
	m_TreeCtrl.InsertItem("开发联盟",1,1,subroot1);
	m_TreeCtrl.InsertItem("人才交流",1,1,subroot1);
	m_TreeCtrl.InsertItem("用户注册",1,1,subroot1);
	m_TreeCtrl.InsertItem("VCity",1,1,subroot1);
	
	m_TreeCtrl.InsertItem("在线杂志",1,1,subroot2);
	m_TreeCtrl.InsertItem("个人专辑",1,1,subroot2);
	m_TreeCtrl.InsertItem("论坛精华",1,1,subroot2);
	m_TreeCtrl.InsertItem("酷库",1,1,subroot2);
	m_TreeCtrl.InsertItem("所有文章",1,1,subroot2);


	m_TreeCtrl.InsertItem("所有代码",1,1,subroot3);
	
	m_TreeCtrl.InsertItem("程序工具箱",1,1,subroot4);

	m_TreeCtrl.InsertItem("程序工具箱",1,1,subroot5);
	m_TreeCtrl.InsertItem("用户注册",1,1,subroot5);
	m_TreeCtrl.InsertItem("修改信息",1,1,subroot5);
	m_TreeCtrl.InsertItem("取回密码",1,1,subroot5);
	m_TreeCtrl.InsertItem("问题解答",1,1,subroot5);
	m_TreeCtrl.InsertItem("投稿",1,1,subroot5);
	m_TreeCtrl.InsertItem("联系我们",1,1,subroot5);
	
	m_TreeCtrl.SelectItem(root);
	m_TreeCtrl.Expand(root, TVE_EXPAND);
	m_TreeCtrl.Expand(subroot1, TVE_EXPAND);
	m_TreeCtrl.Expand(subroot2, TVE_EXPAND);
	m_TreeCtrl.Expand(subroot3, TVE_EXPAND);
	m_TreeCtrl.Expand(subroot4, TVE_EXPAND);
	m_TreeCtrl.Expand(subroot5, TVE_EXPAND);
	return 0;
}

void mybar::OnSize(UINT nType, int cx, int cy) 
{
	CSizingControlBar::OnSize(nType, cx, cy);
	
	// TODO: Add your message handler code here
	
	CRect rc;
	GetClientRect(&rc);
	m_TreeCtrl.MoveWindow(&rc);
}