CView动态创建CTreeCtrl

CView动态创建CTreeCtrl

CVTreeVew的头文件

public:
CTreeCtrl    m_tree;     //树对象
CImageList   m_image;    //image链
virtual void OnInitialUpdate();//初始化信息
            //消息处理函数,针对每一个item
afx_msg void OnNMDblclkTree1(NMHDR *pNMHDR, LRESULT *pResult)

 

 

void CVTreeView::OnInitialUpdate()
{
CView::OnInitialUpdate();

m_image.Create(20, 20, ILC_COLOR8, 0, 4); //创建于cTreeCtrl联系的image

m_image.Add(::LoadIconA(::AfxGetInstanceHandle(),   MAKEINTRESOURCEA(IDI_ICON1)));
    m_image.Add(::LoadIconA(::AfxGetInstanceHandle(),   MAKEINTRESOURCEA(IDI_ICON2)));
m_image.Add(::LoadIconA(::AfxGetInstanceHandle(),   MAKEINTRESOURCEA(IDI_ICON3)));
m_image.Add(::LoadIconA(::AfxGetInstanceHandle(),   MAKEINTRESOURCEA(IDI_ICON4)));

//动态创建树,给出ID
在resource.h  

#define   IDT_TREE

m_tree.Create(WS_VISIBLE | WS_TABSTOP | WS_CHILD | WS_BORDER
   | TVS_HASBUTTONS | TVS_LINESATROOT | TVS_HASLINES
   | TVS_DISABLEDRAGDROP | TVS_NOTOOLTIPS | TVS_EDITLABELS,
   CRect(10, 10, 500, 500), this, 222);


//CTreeCtrl和CimageList联系
m_tree.SetImageList(&m_image, TVSIL_NORMAL);

 hItem   =  m_pTree->InsertItem("大一",   0, 0, TVI_ROOT);
 m_pTree->InsertItem("C++",   1, 1, hItem);
 m_pTree->InsertItem("接口技术",   1, 1, hItem);
 m_pTree->InsertItem("单片机",   1, 1 , hItem);
 
 
 hItem   =  m_pTree->InsertItem("大二",   1, 1, TVI_ROOT);
 m_pTree->InsertItem("C++",   0, 0, hItem);
 m_pTree->InsertItem("接口技术",   0, 0, hItem);
 m_pTree->InsertItem("单片机",   0, 0 , hItem);
 
 
 hItem   =  m_pTree->InsertItem("大三",   2, 2, TVI_ROOT);
 m_pTree->InsertItem("C++",   1, 1, hItem);
 m_pTree->InsertItem("接口技术",   1, 1, hItem);
 m_pTree->InsertItem("单片机",   1, 1 , hItem);
 
 
 hItem   =  m_pTree->InsertItem("大四",   0, 0, TVI_ROOT);
 m_pTree->InsertItem("C++",   2, 2, hItem);
 m_pTree->InsertItem("接口技术",   2, 2, hItem);
 m_pTree->InsertItem("单片机",   2, 2 , hItem);
 
 
 hItem   =  m_pTree->InsertItem("毕业后",   3, 3, TVI_ROOT);
 m_pTree->InsertItem("VS2008",   1, 1, hItem);
 m_pTree->InsertItem("汇编",   1, 1, hItem);
 m_pTree->InsertItem("单片机",   1, 1 , hItem);

HTREEITEM    hItem = NULL;
 

 


}

     
//消息部分
BEGIN_MESSAGE_MAP(CVTreeView, CView)

ON_NOTIFY(NM_DBLCLK, IDT_TREE,   &CVTreeView::OnNMDblclkTree1)
END_MESSGAE_MAP

 

 

void CVTreeView::OnNMDblclkTree1(NMHDR *pNMHDR, LRESULT *pResult)
{
CString str = m_tree.GetItemText(m_tree.GetSelectedItem());
::MessageBox(NULL, str, str, 5);
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值