MFC程序员的WTL指南(6)高级对话框用户界面类
2006-07-22 22:03:25 来源:WEB开发网核心提示: SetCheckState() and GetCheckState()这些方法实际上是在CListViewCtrl中,SetCheckState()使用行的索引和一个布尔类型参数,MFC程序员的WTL指南(6)高级对话框用户界面类(8),该布尔参数的值表示是否check这一行,GetChe
SetCheckState() and GetCheckState()
这些方法实际上是在CListViewCtrl中,SetCheckState()使用行的索引和一个布尔类型参数,该布尔参数的值表示是否check这一行。GetCheckState()以行索引未参数,返回改行的checked状态。
CheckSelectedItems()这个方法使用item的索引作为参数,它翻转这个item的check状态,这个item必须是被选定的,同时还将其他所有被选择的item设置成相应状态(译者加:多选状态下)。你大概不会用到这个方法,因为CCheckListViewCtrl会在check box被单击或用户按下了空格键时设置相应的item的状态。
下面是ControlMania2中的CCheckListViewCtrl的样子:
CTreeViewCtrlEx and CTreeItem有两个类使得树控件的使用简化了很多:CTreeItem类封装了HTREEITEM,一个CTreeItem对象含有一个HTREEITEM和一个指向包含这个HTREEITEM的树控件的指针,使你不必每次调用都引用树控件;CTreeViewCtrlEx和CTreeViewCtrl一样,只是它的方法操作CTreeItem而不是HTREEITEM。例如,InsertItem()函数返回一个CTreeItem而不是HTREEITEM,你可以使用CTreeItem操作新添加的item。下面是一个例子:
// Using plain HTREEITEMs:
HTREEITEM hti, hti2;
hti = m_wndTree.InsertItem ( "foo", TVI_ROOT, TVI_LAST );
hti2 = m_wndTree.InsertItem ( "bar", hti, TVI_LAST );
m_wndTree.SetItemData ( hti2, 100 );
// Using CTreeItems:
CTreeItem ti, ti2;
ti = m_wndTreeEx.InsertItem ( "foo", TVI_ROOT, TVI_LAST );
ti2 = ti.AddTail ( "bar", 0 );
ti2.SetData ( 100 );
CTreeViewCtrl对HTREEITEM的每一个操作,CTreeItem都有与之对应的方法,正像每一个关于HWND的API都有一个CWindow方法与之对应一样。查看ControlMania2的代码可以看到更多的CTreeViewCtrlEx和CTreeItem类的方法的演示。
更多精彩
赞助商链接