VC CTreeCtrl用法总结

可能对VC掌握得太少了,同样的控件,C#为什么用起来那么简练,晕。
大气象
HTREEITEM hItem1A = m_tree.InsertItem(_T(""),TVI_ROOT);//添加根节点的两种方法
//HTREEITEM hItem1A = m_tree.InsertItem(_T("根"),0,0);

HTREEITEM hItem2_1B
=m_tree.InsertItem(_T("根上一1"),1,2,hItem1A,TVI_LAST);

m_tree.InsertItem(_T(
"根上二"),1,2,hItem2_1B); 

m_tree.InsertItem(_T(
"根上二"),1,2,hItem2_1B); 

HTREEITEM hItem2_2B
=m_tree.InsertItem(_T("根上一"),1,2,hItem1A,TVI_LAST);

m_tree.InsertItem(_T(
"根上一"),1,2,hItem2_2B); 

m_tree.InsertItem(_T(
"根上一"),1,2,hItem2_2B); 

m_tree.InsertItem(_T(
"根上一"),1,2,hItem1A,TVI_LAST);

m_tree.InsertItem(_T(
"根上一"),1,2,hItem1A,TVI_LAST);

//设置显示风格

m_tree.SetBkColor (RGB(
220,200,220));//背景颜色

m_tree.Expand(hItem1A,TVE_EXPAND);
//根部展开

DWORD dwStyle
=GetWindowLong(m_tree.m_hWnd ,GWL_STYLE);//获得树的信息

dwStyle
|=TVS_HASBUTTONS|TVS_HASLINES|TVS_LINESATROOT;//设置风格

::SetWindowLong (m_tree.m_hWnd ,GWL_STYLE,dwStyle);

SelectChanged事件

大气象
void CUseControlDlg::OnTvnSelchangedTree1(NMHDR *pNMHDR, LRESULT *pResult)
{
    LPNMTREEVIEW pNMTreeView 
= reinterpret_cast<LPNMTREEVIEW>(pNMHDR);
    
// TODO: 在此添加控件通知处理程序代码
    *pResult = 0;

    
//这样就可以得到选中项的节点了
    HTREEITEM hItem = m_tree.GetSelectedItem();
    
//得到它的内容
    CString Text = m_tree.GetItemText(hItem);
    AfxMessageBox(Text);
}
天祺围棋:www.tianqiweiqi.com呵呵

凡事以大气象去面对,优秀是一种习惯。

原文地址:https://www.cnblogs.com/greatverve/p/ctreectrl.html