文档详情

Visual C++程序设计教程(第二版)课件:高级控件.ppt

发布:2024-11-09约8.85千字共66页下载文档
文本预览下载声明

8.4.1列表控件的样式

列表控件的样式可以在Properties对话框的Styes属性页进行设置:8.4.2CListCtrl类

与列表视图控件有关的一些数据类型:LV_COLUMN结构。该结构仅用于报告式列表视图,用来描述表项的某一列.要想向表项中插入新的一列,需要用到该结构,其定义为:typedefstruct_LV_COLUMN { UINTmask;//屏蔽位的组合(见下面括号),表明哪些成员是有效的 intfmt;//该列的表头和子项的标题显示格式(LVCF_FMT) intcx;//以像素为单位的列的宽度(LVCF_FMT) LPTSTRpszText;//指向存放列表头标题正文的缓冲区(LVCF_TEXT) intcchTextMax;//标题正文缓冲区的长度(LVCF_TEXT) intiSubItem;//说明该列的索引(LVCF_SUBITEM) }LV_COLUMN;与列表视图控件有关的一些数据类型(续)LV_ITEM结构。该结构用来描述一个表项或子项,它包含了项的各种属性,其定义为: typedefstruct_LV_ITEM{ UINTmask;//屏蔽位的组合,表明哪些成员是有效的 intiItem;//从0开始编号的表项索引(行索引) intiSubItem;//从1开始编号的子项索引(列索引) UINTstate;//项的状态(LVIF_STATE) UINTstateMask;//项的状态屏蔽 LPTSTRpszText;//指向存放项的正文的缓冲区(LVIF_TEXT) intcchTextMax;//正文缓冲区的长度(LVIF_TEXT) intiImage;//图标的索引(LVIF_IMAGE) LPARAMlParam;//32位的附加数据(LVIF_PARAM) }LV_ITEM;CListCtrl类的成员函数:列的插入和删除项: 插入某列:intInsertColumn(intnCol,constLV_COLUMN*pColumn); 删除某列: BOOLDeleteColumn(intnCol);CListCtrl类的成员函数(续)表项的插入 函数的声明为intInsertItem(constLV_ITEM*pItem); 参数pItem指向一个LV_ITEM结构,该结构提供了对表项的描述。若插入成功则函数返回新表项的索引,否则返回-1。CListCtrl类的成员函数(续)调用GetItemText和SetItemText来查询和设置表项及子项显示的正文:intGetItemText(intnItem,intnSubItem,LPTSTRlpszText,intnLen)const;CStringGetItemText(intnItem,intnSubItem)const;BOOLSetItemText(intnItem,intnSubItem,LPTSTRlpszText);8.4.3应用实例

下面开始建立一个CListCtrl对话框的工程Eg8_2,步骤如下: 步骤1.建立一个基于对话框的程序,打开对话框资源。将对话框的标题设为“列表控件”。将CListCtrl拖到视图窗口中,调整位置、大小,并定义其对象标识为IDC_LIST。应用实例(续)

步骤2.改变列表控件的属性,选中View|Report选项。应用实例(续)步骤3.在MFCClassWizard中建立对列表控件IDC_LIST的成员变量为m_List,以后程序中对该控件的控制通过此成员变量来实现。步骤4.重载对话框类的初始化函数OnInitDialog():BOOLCMy83Dlg::OnInitDialog(){CDialog::OnInitDialog();……//初始化列表视图LV_COLUMNlvc;LV_ITEMlvi;初始化函数OnInitDialog():char*display2[3][3]={1,01,75,2,02,84,3,03,67};char*display[3]={姓名,学号,分数};char*display1[3]={张三,李四,王麻子};lvc.mask=LVCF_FMT|LVCF_TEXT|LVCF_SUBITEM|LVCF_WIDTH;lvc.fmt=LVCFMT_LEFT;lvc.cx=111;f

显示全部
相似文档