可能对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);
// 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);
}
{
LPNMTREEVIEW pNMTreeView = reinterpret_cast < LPNMTREEVIEW > (pNMHDR);
// TODO: 在此添加控件通知处理程序代码
* pResult = 0 ;
// 这样就可以得到选中项的节点了
HTREEITEM hItem = m_tree.GetSelectedItem();
// 得到它的内容
CString Text = m_tree.GetItemText(hItem);
AfxMessageBox(Text);
}
本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/greatverve/archive/2010/11/15/ctreectrl.html,如需转载请自行联系原作者