实现二叉树的可视化处理,很好的源码资料供大家学习。。,btree.zip


实现二叉树的可视化处理,很好的源码资料供大家学习。。
资源截图
代码片段和文件信息

#include “stdafx.h“
#include “MainFrm.h“
#include “ClassView.h“
#include “Resource.h“
#include “绘制二叉树.h“

class CClassViewMenuButton : public CMFCToolBarMenuButton
{
friend class CClassView;

DECLARE_SERIAL(CClassViewMenuButton)

public:
CClassViewMenuButton(HMENU hMenu = NULL) : CMFCToolBarMenuButton((UINT)-1 hMenu -1)
{
}

virtual void OnDraw(CDC* pDC const CRect& rect CMFCToolBarImages* pImages BOOL bHorz = TRUE
BOOL bCustomizeMode = FALSE BOOL bHighlight = FALSE BOOL bDrawBorder = TRUE BOOL bGrayDisabledButtons = TRUE)
{
pImages = CMFCToolBar::GetImages();

CAfxDrawState ds;
pImages->PrepareDrawImage(ds);

CMFCToolBarMenuButton::OnDraw(pDC rect pImages bHorz bCustomizeMode bHighlight bDrawBorder bGrayDisabledButtons);

pImages->EndDrawImage(ds);
}
};

IMPLEMENT_SERIAL(CClassViewMenuButton CMFCToolBarMenuButton 1)

//////////////////////////////////////////////////////////////////////
// 构造/析构
//////////////////////////////////////////////////////////////////////

CClassView::CClassView()
{
m_nCurrSort = ID_SORTING_GROUPBYTYPE;
}

CClassView::~CClassView()
{
}

BEGIN_MESSAGE_MAP(CClassView CDockablePane)
ON_WM_CREATE()
ON_WM_SIZE()
ON_WM_CONTEXTMENU()
ON_COMMAND(ID_CLASS_ADD_MEMBER_FUNCTION OnClassAddMemberFunction)
ON_COMMAND(ID_CLASS_ADD_MEMBER_VARIABLE OnClassAddMemberVariable)
ON_COMMAND(ID_CLASS_DEFINITION OnClassDefinition)
ON_COMMAND(ID_CLASS_PROPERTIES OnClassProperties)
ON_COMMAND(ID_NEW_FOLDER OnNewFolder)
ON_WM_PAINT()
ON_WM_SETFOCUS()
ON_COMMAND_RANGE(ID_SORTING_GROUPBYTYPE ID_SORTING_SORTBYACCESS OnSort)
ON_UPDATE_COMMAND_UI_RANGE(ID_SORTING_GROUPBYTYPE ID_SORTING_SORTBYACCESS OnUpdateSort)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CClassView 消息处理程序

int CClassView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CDockablePane::OnCreate(lpCreateStruct) == -1)
return -1;

CRect rectDummy;
rectDummy.SetRectEmpty();

// 创建视图:
const DWORD dwViewstyle = WS_CHILD | WS_VISIBLE | TVS_HASLINES | TVS_LINESATROOT | TVS_HASBUTTONS | WS_CLIPSIBLINGS | WS_CLIPCHILDREN;

if (!m_wndClassView.Create(dwViewstyle rectDummy this 2))
{
TRACE0(“未能创建类视图
“);
return -1;      // 未能创建
}

// 加载图像:
m_wndToolBar.Create(this AFX_DEFAULT_TOOLBAR_style IDR_SORT);
m_wndToolBar.LoadToolBar(IDR_SORT 0 0 TRUE /* 已锁定*/);

onchangeVisualstyle();

m_wndToolBar.SetPanestyle(m_wndToolBar.GetPanestyle() | CBRS_TOOLTIPS | CBRS_FLYBY);
m_wndToolBar.SetPanestyle(m_wndToolBar.GetPanestyle() & ~(CBRS_GRIPPER | CBRS_SIZE_DYNAMIC | CBRS_BORDER_TOP | CBRS_BORDER_BOTTOM | CBRS_BORDER_LEFT | CBRS_BORDER_RIGHT));

m_wndToolBar.SetOwner(this);

// 所有命令将通过此控件路由,而不是通过主框架路由:
m_wndToolBar.SetRouteCommandsViaframe(FALSE);

CMenu menuSort;
menuSort.LoadMenu(IDR_POPUP_SORT);

m_wndToolBar.ReplaceButton(ID_SORT_MENU CClassViewMenuButton(menuSor

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-05-09 15:03  btree
     目录           0  2019-05-09 15:03  btreeB_tree
     目录           0  2013-10-25 08:59  btreeB_treeB_TREE
     文件        9032  2012-10-10 21:49  btreeB_treeB_TREEClassView.cpp
     文件        1275  2012-10-10 21:49  btreeB_treeB_TREEClassView.h
     文件        6673  2012-10-10 21:49  btreeB_treeB_TREEFileView.cpp
     文件        1135  2012-10-10 21:49  btreeB_treeB_TREEFileView.h
     文件       14263  2012-10-10 21:49  btreeB_treeB_TREEMainFrm.cpp
     文件        1664  2012-10-10 21:49  btreeB_treeB_TREEMainFrm.h
     文件        4970  2012-10-10 21:49  btreeB_treeB_TREEOutputWnd.cpp
     文件        1017  2012-10-10 21:49  btreeB_treeB_TREEOutputWnd.h
     文件        8755  2012-10-10 21:49  btreeB_treeB_TREEPropertiesWnd.cpp
     文件        1445  2012-10-10 21:49  btreeB_treeB_TREEPropertiesWnd.h
     文件        4932  2012-10-10 21:49  btreeB_treeB_TREEReadMe.txt
     文件        7976  2011-12-12 13:29  btreeB_treeB_TREEUserImages.bmp
     文件         876  2012-10-10 21:49  btreeB_treeB_TREEViewTree.cpp
     文件         372  2012-10-10 21:49  btreeB_treeB_TREEViewTree.h
     文件        7492  2012-12-06 18:17  btreeB_treeB_TREEinarytree.h
     文件        1172  2012-10-21 11:10  btreeB_treeB_TREEmy_binarytree_dlg.cpp
     文件         523  2012-10-21 10:50  btreeB_treeB_TREEmy_binarytree_dlg.h
     目录           0  2013-10-25 08:59  btreeB_treeB_TREE
es
     文件         660  2012-10-10 21:49  btreeB_treeB_TREE
esMy.rc2
     文件        1078  2011-12-12 13:29  btreeB_treeB_TREE
esToolbar.bmp
     文件        5816  2011-12-12 13:29  btreeB_treeB_TREE
esToolbar256.bmp
     文件        1078  2012-01-11 01:22  btreeB_treeB_TREE
esclass_view.ico
     文件        2478  2012-01-11 01:22  btreeB_treeB_TREE
esclass_view_hc.ico
     文件         958  2011-12-12 13:29  btreeB_treeB_TREE
esclassview.bmp
     文件        5096  2011-12-12 13:29  btreeB_treeB_TREE
esclassview_hc.bmp
     文件         246  2011-12-12 13:29  btreeB_treeB_TREE
esexplorer.bmp
     文件         824  2012-01-11 01:22  btreeB_treeB_TREE
esexplorer_hc.bmp
     文件        1078  2011-12-12 13:29  btreeB_treeB_TREE
esfile_view.ico
............此处省略33个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)