流云

风驰影跃长 月映霜华裳
随笔 - 23, 文章 - 6, 评论 - 53, 引用 - 0

导航

<2008年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

留言簿(0)

随笔分类

随笔档案

文章分类

文章档案

相册

收藏夹

东观沧海

云散之处

搜索

最新评论

阅读排行榜

评论排行榜

TreeCtrl

1.获取当前选择的节点名

 
CPoint point;
 GetCursorPos(&point);
// 当前鼠标坐标
 m_tree.ScreenToClient( &point);
 HTREEITEM hTest=m_tree.HitTest(point, &nFlag); 
 if(hTest)
 {
  m_tree.SelectItem(hTest);
  CString strx,str=m_tree.GetItemText(hTest);
  AfxMessageBox(str);
 }

2.TREECTRL加节点图标

step1: 创建位图资源IDB_BITMAP1、IDB_BITMAP2(假设为16x16)
step3: 添加类成员 CImageList m_ImageList;

step3: OnInitDialog()
     {
 m_imageList.Create(16, 16, ILC_COLORDDB | ILC_MASK, 0, 1);

 CBitmap bm1, bm2;
  
 bm1.LoadBitmap(IDB_BITMAP1);
 bm2.LoadBitmap(IDB_BITMAP2); 
 
 m_imageList.Add(&bm1, RGB(192, 192, 192));
 m_imageList.Add(&bm2, RGB(192, 192, 192)); 
 
 m_tree.SetImageList(&m_imageList, TVSIL_NORMAL);
    
}
step4:在插入节点时指定图标
 m_tree.InsertItem(str1,0,0,hItem1);//参数2:图标索引;参数3:选中节点时的图标索引
 m_tree.InsertItem(str2,1,1,hItem2);

3.展开具有2级子节点的树

 
HTREEITEM hc=m_tree.GetChildItem(hroot); 
 m_tree.Expand(hroot,TVE_EXPAND);
 m_tree.Expand(hc,TVE_EXPAND);
 while((hc=m_tree.GetNextItem(hc,TVGN_NEXT))!=NULL) 
  m_tree.Expand(hc,TVE_EXPAND);


4.右键编辑TREECTRL节点文本

(1)响应右键消息
void CForTestDlg::OnRclickTree1(NMHDR* pNMHDR, LRESULT* pResult)
{
    // TODO: Add your control notification handler code here
   
m_tree.ModifyStyle(NULL,TVS_EDITLABELS);    //设置编辑风格
    HTREEITEM hItem=m_tree.GetSelectedItem();
    m_tree.EditLabel(hItem);

    *pResult = 0;
}
(2)响应TVN_BEGINLABELEDIT消息
void CForTestDlg::OnEndlabeleditTree1(NMHDR* pNMHDR, LRESULT* pResult)
{
    TV_DISPINFO* pTVDispInfo = (TV_DISPINFO*)pNMHDR;
    // TODO: Add your control notification handler code here
   
if(pTVDispInfo->item.pszText!=NULL)        //未取消编辑
        m_tree.SetItemText(pTVDispInfo->item.hItem,pTVDispInfo->item.pszText);

    *pResult = 0;
}
(3)
void CForTestDlg::OnOK()

     SetFocus(); //响应ENTER键
     return;
}

posted on 2005-12-21 08:39 流云 阅读(2961) 评论(0)  编辑 收藏

评论

标题  
姓名  
主页
验证码 *
内容   
  登录  使用高级评论  Top
[使用Ctrl+Enter键可以直接提交]