tree控件使用

来源:互联网 发布:淘宝怎么蚂蚁花呗透支 编辑:程序博客网 时间:2024/04/29 19:10

树控制和视(Tree    
  Control&View)主要用来显示具有一定层次结构的数据项,如资源管理器中的磁盘目录等,?  
  数据项,可通过鼠标双击来展开或合拢,这可以通过控制树的不同风格来实现树控制的不同    
       
  TVS_HASLINES表示用连线来连接父项和它下面的各个子项,这可以使树的显示层次结构更加    
       
  TVS_LINESATROOT表示在无父项的各子项即根下面的各子项之间存在连线;    
       
  TVS_HASBUTTONS表示在带有子项的父项前面增加一个带“+”或“-”的按钮,这使得用户    
  这一风格同样对于根项无效,如果需要可通过组合TVS_LINESATROOT风格来实现;    
       
  TVS_EDITLABELS表示允许让用户单击具有输入焦点的数据项来修改其名称。    
       
  对于树控制,MFC中也以两种形式来封装,即树控制(CTREECTRL)和树视(CTREEVIEW),?  
  求。当在窗口中使用树视时,树视会占满两个窗口的客户区域并自动随窗口的框架结构的调    
  =   GetTreeCtrl()。

Top
4楼  ilbhh   (浅尝辄止)   回复于 2003-07-31 15:17:36  得分 0
char   *   CJ[4]={"玉溪卷烟厂","云南卷烟厂","沈阳卷烟厂","成都卷烟厂"};//根数据名称    
       
  char   *   PM[4][5]={    
       
  {"红梅一","红梅二","红梅三","红梅四","红梅五"},//产品数据项    
       
  {"白梅一","白梅二","白梅三","白梅四","白梅五"},    
       
  {"绿梅一","绿梅二","绿梅三","绿梅四","绿梅五"},    
       
  {"青梅一","青梅二","青梅三","青梅四","青梅五"}};    
       
  int   i,j;    
       
  HTREEITEM   hRoot,hCur;//树控制项目句柄    
       
  TV_INSERTSTRUCT   TCItem;//插入数据项数据结构    
  //都在设置要插入项的属性信息
       
  TCItem.hParent=TVI_ROOT;//增加根项    
       
  TCItem.hInsertAfter=TVI_LAST;//插到最后项之后    
       
  TCItem.item.mask=TVIF_TEXT|TVIF_PARAM|TVIF_IMAGE|TVIF_SELECTEDIMAGE;//设屏蔽 模式   
       
  TCItem.item.pszText="数据选择";     //字段值
       
  TCItem.item.lParam=0;//序号    
       
  TCItem.item.iImage=0;//正常图标    
       
  TCItem.item.iSelectedImage=1;//选中时图标    
       
  hRoot=m_TreeCtrl.InsertItem(&TCItem);//返回根项句柄    
       
  for(i=0;i<4;i++){//增加各厂家    
       
  TCItem.hParent=hRoot;    
       
  TCItem.item.pszText=CJ[i];    
       
  TCItem.item.lParam=(i+1)*10;//子项序号    
       
  hCur=m_TreeCtrl.InsertItem(&TCItem);    
       
  for(j=0;j<5;j++){//增加各产品    
       
  TCItem.hParent=hCur;    
       
  TCItem.item.pszText=PM[i][j];    
       
  TCItem.item.lParam=(i+1)*10+(j+1);//子项序号    
       
  m_TreeCtrl.InsertItem(&TCItem);    
       
  }    
       
  m_TreeCtrl.Expand(hCur,TVE_EXPAND);//展开树    
       
  }    
       
  m_TreeCtrl.Expand(hRoot,TVE_EXPAND);//展开上一级树    
 

Top
5楼  ilbhh   (浅尝辄止)   回复于 2003-07-31 15:18:35  得分 45
查看功能的实现    
       
  查看功能用来查看选中树项的有关信息,函数中中显示了树项的文本名称和标识号,可以将    
       
  void   CVCTREEDlg::OnView()    
       
  {   //查看选中项功能函数    
       
  HTREEITEM   hSel=m_TreeCtrl.GetSelectedItem();//取得选项句柄;    
       
  if(hSel==NULL)   return;//无任何选项则返回    
       
  CString   cText=m_TreeCtrl.GetItemText(hSel);//取得数据项名    
       
  LONG   IDs=m_TreeCtrl.GetItemData(hSel);//取得数据项序号    
       
  char   temp[100];    
       
  wsprintf(temp,"厂家:%s   编号:%05d",cText,IDs);    
       
  MessageBox(temp,"选择信息");