正文

CTreeCtrl学习笔记1--基础篇2007-01-25 14:21:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/yuqiexing/22798.html

分享到:

以下的说明中,注意以下变量的定义:

 CTreeCtrl  m_treectrl;//是关联变量

 

 

  1. 如何获得选中项句柄?

HTREEITEM h=m_treectrl.GetSelectedItem();

 

2.如何获得右击项句柄?

 

void CLayerDialog::OnRclick(NMHDR* pNMHDR, LRESULT* pResult)

{

       // TODO: Add your control notification handler code here

       NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;

       //右击获取所选项

       CPoint   point,p;  

       TVHITTESTINFO   HitTestInfo;  

       GetCursorPos(&point);

       m_treectrl.ScreenToClient(&point);  

       HitTestInfo.pt   =   point;  

       HTREEITEM h   =   m_treectrl.HitTest(&HitTestInfo);

       if(h!=NULL)

       {

              。。。。。//需要代码 

       }

}

3.如何响应checkbox被单击?

 

响应单击事件,并且进行判断

void CLayerDialog::OnLclick(NMHDR *pNMHDR,LRESULT *pResult)

{

    NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;

    // TODO: Add your control notification handler code here

    CPoint p;

    GetCursorPos(&p);

    m_treectrl.ScreenToClient(&p);

    UINT nFlag;

    HTREEITEM h=m_treectrl.HitTest(p,&nFlag);

   if   ((h  !=   NULL)   &&   (TVHT_ONITEMSTATEICON   &   nFlag))  

    {   

           。。。。。//需要代码

    }

}

 

4.设置和获取checkbox的状态函数

    GetCheck( )              SetCheck( )

 

 

5.选中特定项

            HTREEITEM h=…;

            m_treectrl.SelecteItem(h);

 

    6.插入标记

这是拖曳时经常用到的函数。

BOOL SetInsertMark( HTREEITEM hItem, BOOL fAfter = TRUE );

TRUE表示在hItem下面显示横杠,而FALSE则表示在上面。

同类函数还有:

SetInsertMarkColorGetInsertMarkColor

 

    7 .获得兄弟姐妹项

HTREEITEM GetPrevSiblingItem( HTREEITEM hItem );

HTREEITEM GetNextSiblingItem( HTREEITEM hItem );

很好用的函数。但是要注意如果hItem是第一项,那么GetPrevSiblingItem返回NULL。此时要注意判断。GetNextSiblingItem同理。

 

阅读(5478) | 评论(1)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册