单文档下 Tree控件

一、单文档下Tree控件的创建

/**********************************************************************/

参考:http://bbs.csdn.net/topics/350079881

CRect treeRect(x1,y1,x2,y2);
m_devTree->Create(
WS_VISIBLE|WS_CHILD|WS_BORDER|TVS_HASBUTTONS|TVS_LINESATROOT|TVS_HASLINES|TVS_DISABLEDRAGDROP,
treeRect,
视图指针,
id);

/**************************************************************************************************/

1.View类下添加成员变量:

IDC_TREE


2.资源视图中打开String Table资源,在右键菜单中选择new string,为将要创建的ListControl控件添加资源编号:

IDC_TREE


3.为创建和显示控件,在视图的初始化消息函数中添加如下代码:

void CMyView::OnInitialUpdate()
    {
       CView::OnInitialUpdate(); 
       // TODO: Add your specialized code here and/or call the base class

CRect rect;
	GetClientRect(&rect);
	m_wndTree.Create(WS_VISIBLE|WS_CHILD|WS_BORDER|TVS_HASBUTTONS|TVS_LINESATROOT|TVS_HASLINES|TVS_DISABLEDRAGDROP,
					rect,
					this,
					IDC_TREE);

	HTREEITEM hItem1A=m_wndTree.InsertItem(_T("LAYER1_A"),0,1);
	m_wndTree.InsertItem(_T("LAYER2_1A"),0,1,hItem1A,TVI_LAST);
	HTREEITEM hItem2_1B=m_wndTree.InsertItem(_T("LAYER2_1B"),0,1,hItem1A,TVI_LAST);
	m_wndTree.InsertItem(_T("LAYER3_1A"),0,1,hItem2_1B);	
	m_wndTree.InsertItem(_T("LAYER3_1B"),0,1,hItem2_1B);	
	m_wndTree.InsertItem(_T("LAYER3_1C"),0,1,hItem2_1B);	
	m_wndTree.InsertItem(_T("LAYER2_1C"),0,1,hItem1A,TVI_LAST);
	HTREEITEM hItem1B=m_wndTree.InsertItem(_T("LAYER1_B"),0,1);
	m_wndTree.InsertItem(_T("LAYER2_2A"),0,1,hItem1B,TVI_LAST);
	m_wndTree.InsertItem(_T("LAYER2_2B"),0,1,hItem1B,TVI_LAST);
	 m_wndTree.InsertItem(_T("LAYER2_2C"),0,1,hItem1B,TVI_LAST);

}

二、双击的响应

1.View类的头文件中添加成员变量:

HTREEITEM m_hTreeItem;


2.View类的头文件添加

//{{AFX_MSG(CTreeTestView)
 

afx_msg void OnDblClkTree(NMHDR* pNMHDR, LRESULT* pResult);

   //}}AFX_MSG

DECLARE_MESSAGE_MAP()

3.View类cpp文件中添加:

BEGIN_MESSAGE_MAP(CTreeTestView, CView)
 //{{AFX_MSG_MAP(CTreeTestView)

ON_NOTIFY(NM_DBLCLK, IDC_TREE, OnDblClkTree) //双击相应消息

 //}}AFX_MSG_MAP
END_MESSAGE_MAP()

4.View类cpp文件中添加响应函数:

void CMyView::OnDblClkTree(NMHDR* pNMHDR, LRESULT* pResult) 
{
 // TODO: Add your control notification handler code here
 m_hTreeItem = m_wndTree.GetSelectedItem();
 CString S1 = m_wndTree.GetItemText(m_hTreeItem);
 AfxMessageBox("You have selected "+S1);
 *pResult = 0; 
 *pResult = 0;
}


 

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值