正文

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则表示在上面。 同类函数还有: SetInsertMarkColor,GetInsertMarkColor       7 .获得兄弟姐妹项 HTREEITEM GetPrevSiblingItem( HTREEITEM hItem ); HTREEITEM GetNextSiblingItem( HTREEITEM hItem ); 很好用的函数。但是要注意如果hItem是第一项,那么GetPrevSiblingItem返回NULL。此时要注意判断。GetNextSiblingItem同理。  

阅读(5612) | 评论(1)


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

评论

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