📄 analysetree.cpp
字号:
// AnalyseTree.cpp : implementation file
//
#include "stdafx.h"
#include "cmmg.h"
#include "AnalyseTree.h"
#include <vector>
using namespace std;
// AnalyseTree dialog
IMPLEMENT_DYNAMIC(AnalyseTree, CDialog)
AnalyseTree::AnalyseTree(CWnd* pParent /*=NULL*/)
: CDialog(AnalyseTree::IDD, pParent)
{
}
AnalyseTree::~AnalyseTree()
{
}
void AnalyseTree::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
}
AnalyseTree::AnalyseTree(std::string tree_string, CWnd* pParentWnd) : CDialog(AnalyseTree::IDD, pParentWnd){
this->tree_string = tree_string;
}
void AnalyseTree::insertItems(HTREEITEM hParent,TreeNode* t,int length){
int size = t->children->size();
CString buff(t->describe.c_str());
HTREEITEM htreeitem ;
if (hParent==NULL)
{
htreeitem = NULL;
if (t->describe=="\nroot")
{
htreeitem = TVI_ROOT;
}
}
else{
htreeitem = this->tree->InsertItem(buff,hParent);
}
for (int i=0;i<size;i++)
{
this->insertItems(htreeitem,t->children->at(i),length+1);
}
}
int AnalyseTree::DoModal(){
return CDialog::DoModal();
}
BOOL AnalyseTree::OnInitDialog(){
CDialog::OnInitDialog();
//tree.Create(WS_VISIBLE | WS_TABSTOP | WS_CHILD | WS_BORDER
// | TVS_HASBUTTONS | TVS_LINESATROOT | TVS_HASLINES
// | TVS_DISABLEDRAGDROP,
// CRect(7, 7, 213, 255), this, 0x1005);
InitCommonControls();
tree = (CTreeCtrl*)this->GetDlgItem(IDC_TREE1);
TreeNode * t = build_tree(tree_string,0);
insertItems(NULL,t,0);
return true;
}
BEGIN_MESSAGE_MAP(AnalyseTree, CDialog)
END_MESSAGE_MAP()
// AnalyseTree message handlers
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -