CTreeCtrl类学习笔记

成员函数virtual BOOL Create(
                                                     DWORD dwStyle,
                                                    const RECT& rect,
                                                    CWnd* pParentWnd,
                                                    UINT nID
                                                     );

dwStyle:TVS_CHECKBOXES               4.70版:在每个item前面显示出复选框。必须为item关联了Image之后,复选框才能显示出来。设置这种风格的时候,要用DrawFrameControl创建并且设置两种状态的图片,一种是选中状态的图片,另一种是未选中时的图片。更多信息请查看Working with state image indexes.

在5.80版中,即使没有图片,也会显示复选框。

这种风格一旦创建,将不能移除。只能destroy后再create一个新的。

  在创建treeview control之后,用SetWindowLong函数设置TVS_CHECKBOXES 即可。TVS_DISABLEDRAGDROP 
              防止tree-view control发送TVN_BEGINDRAG消息。TVS_EDITLABELS 
             允许用户修改item标签TVS_FULLROWSELECT 
              允许选定整行。已选定的整行将高亮显示,点击这个item所在行的任意地方都将导致它被选中。这种风格不能与TVS_HASLINES并存。TVS_HASBUTTONS  
            在parent items处显示(+)或者(-)。用户可以点击这些按钮展开或者合并它的child item。为了在tree-view的root处显示出按钮来,必须要用TVS_LINESATROOT.TVS_HASLINES 
            用直线显示item之间的层次关系。TVS_INFOTIP 
             通过发送TVN_GETINFOTIP得到功能提示信息。TVS_LINESATROOT 
             用直线连接root处的item.如果没有TVS_HASLINES风格,这种风格将被忽略。TVS_NOHSCROLL  
              不显示垂直滚动条。TVS_NONEVENHEIGHT 
             让items之间的距离是不等的,否则就是等间距的。可以用TVM_SETITEMHEIGHT设置高度。TVS_NOSCROLL 
             无滚动条。.

TVS_NOTOOLTIPS 
                无提示TVS_RTLREADING 
                按照从右到左的顺序显示文本。TVS_SHOWSELALWAYS
             当tree-view control失去焦点时,被选中的item仍然保留被选中状态。  TVS_SINGLEEXPAND  
            4.71版 任何时刻只有一个item的child item被展开。如果用单击选中item并且这个item还没有展开的话,那么单击后它将被展开。如果选择item的时候用户按下了CTRL键,未被选中的item将不会自动收起。
            5.80版 将使被选中的item展开,未被选中的收起。如果按下了CTRL,未被选中的不会收起。

TVS_TRACKSELECT  允许跟踪

第二个参数rect:指出了tree-view control的大小和位置,既可以是CRect对象也可以是Rect结构。

第三个参数pParentWND 通常是CDailog,不能为NULL。

第四个参数指定了tree-view control的ID。

你可能感兴趣的:(MFC编程)