一、列表控件
1. 相关类
CListCtrl - 父类是CWnd类,控件类,常用于对话框程序中。
CListView - 父类是CCtrlView类,视图类,常用于文档视图应用程序中。
通过调用GetListCtrl()函数得到视图客户区的控件,通过CListCtrl类完成相关功能。
列表控件有4中不同的显示风格:图标、小图标、列表、报表(详细信息)。
2. CListCtrl类的使用
2.1 设置控件的图标列表(图标列表、小图标列表)
(1)添加与图标列表关联的位图
(2)创建图标列表
CImageList::Create
(3)设置控件的图标列表
CListCtrl::SetImageList
2.2 设置控件的列
CListCtrl::InsertColumn
2.3 插入数据项(第一列)
CListCtrl::InsertItem
2.4 设置列的文本
CListCtrl::SetItemText
例子:使用CListCtrl控件显示指定目录下的文件和目录(结合CFileFind类)。
2.5 获取设置数据项的附加数据
CListCtrl::SetItemData / CListCtrl::GetItemData
2.6 设置控件的背景图片
初始化OLE库 - AfxOleInit( );
设置控件的背景图片 - CListCtrl::SetBkImage( LPTSTR pszUrl,
BOOL fTile = TRUE,
int xOffsetPercent = 0,
int yOffsetPercent = 0);
设置字体的背景色为透明 - CListCtrl::SetTextBkColor( CLR_NONE );
3. CStringList类
3.1 清空链表
void CStringList::RemoveAll( );
3.2 添加元素
POSITION CStringList::AddTail( CObject* NewElement );
3.3 获取元素
CObject* CStringList::GetAt( POSITON position );
3.4 通过元素的索引得到元素的位置
POSITION CStringList::FindIndex( int nIndex );
二、树控件
1. 相关类
CTreeCtrl类 - 父类是CWnd类,控件类。主要在对话框中使用。
CTreeView类 - 父类是CCtrlView,视图类。主要在文档视图程序中使用。
通过调用GetTreeCtrl( )函数得到视图相关的控件。
树控件的节点是通过节点句柄标识的
2. CTreeCtrl类的使用
2.1 设置控件的图标列表
CTreeCtrl::SetImageList
2.2 插入树节点
HTREEITEM InsertItem( LPCTSTR lpszItem, //节点文本
int nImage, //图标的索引
int nSelectedImage, //选中节点时的图标
HTREEITEM hParent = TVI_ROOT, //结点的父节点,使用默认值表示该节点为根节点
HTREEITEM hInsertAfter = TVI_LAST ); //在哪个兄弟节点后插入当前节点
2.3 设置节点高度
CTreeCtrl::SetItemHeight
2.4 设置节点展开状态
CTreeCtrl::Expand
三、Tab控件
1. 相关类
CTabCtrl - 实现属性页的功能
2. CTablCtrl类的使用
2.1 插入标签
CTabCtrl::InsertItem
2.2 获取当前选项
CTabCtrl::GetCurSel
四、属性页对话框
1. 分类
标签式 - 常用来完成参数、选项等设置
向导式 - 常用于引导用户一步步的选择和设置,完成某种功能
2. 相关类
CPropertyPage类 - 页面对话框类(属性页类)
CPropertySheet类 - 容器窗口类(属性表单类)
整个属性页面的组成:一个表单对象 + 多个属性页对象
3. 标签式的使用
3.1 插入对话框资源,设置语言的字体。双击资源生成页面类,注意父类选择CPropertyPage类
3.2 继承自CPropertySheet类,添加表单类
3.3 在表单中添加页面对象
CPropertySheet::AddPage( )
3.4 将应用按钮设置为可用
CPropertyPage::SetModified
3.5 通过添加虚函数生成应用按钮的消息处理函数
CPropertyPage::OnApply( )
3.6 颜色对话框 - CColorDialog类
(1)显示颜色对话框
CColorDialog dlg;
dlg.DoModal( );
(2)获取选择的颜色
dlg.GetColor( );
4. 向导式属性页
4.1 插入对话框资源,设置语言的字体。双击资源生成页面类,注意父类选择CPropertyPage类
4.2 继承自CPropertySheet类,添加表单类
4.3 在表单中添加页面对象
CPropertySheet::AddPage( )
4.4 设置显示方式为向导式
CProertySheet::SetWizardMode( )
4.5 创建和显示
CPropertySheet::DoModal( )
4.6 设置页面的向导按钮
(1)添加页面类的虚函数
OnSetActive( )
(2)在该函数中设置向导按钮
GetParent( )
CProperty::SetWizardButtons
4.7 消息处理(虚函数)
CPropertyPage::OnWizardNext( )
CPropertyPage::OnWizardBack( )
CPropertyPage::OnWizardFinish( )