8.8.3 实现复选数据功能
可以通过CCheckListBox类在列表框控件中实现复选数据功能。CCheckListBox类是对CListBox类的扩充,使列表框控件具有复选功能,通过GetCheck方法可以判断当前列表项的复选框是否被选中。
语法格式如下:
int GetCheck( int nIndex ); |
其中,nIndex表示标识项目索引。
例8.12 在列表框控件中实现复选数据功能。(实例位置:光盘\TM\sl\8\7)
步骤如下:
(1)创建一个基于对话框的应用程序,将对话框的Caption属性修改为"在列表框控件中实现复选数据功能"。
(2)向对话框中添加一个列表框控件和一个按钮控件,设置Owner draw属性为Fixed(该属性用于确定控件的所有者如何绘制控件),并选择Has strings属性(该属性用于标识一个owner-draw列表框中的项目由字符串组成)。
(3)处理"确定"按钮的单击事件,获取列表框中的选中项数据,通过消息框将数据显示出来。代码如下:
void CCheckListDlg::OnButtonok() //"确定"按钮单击事件处理函数 { CString strText=""; //声明字符串变量并初始化为空 int num = m_List.GetCount(); //获得列表框中的行数 for(int i=0;i<num;i++) //根据行数进行循环 { if(m_List.GetCheck(i)) //判断指定行是否选中 { CString str; //声明字符串变量 m_List.GetText(i,str); //获得指定行的数据 strText += str; //将选中的数据连接到一个字符串中 } } MessageBox(strText); //将选中的字符串通过消息框显示出来 } |
实例的运行结果如图8.22所示。
|
| 图8.22 在列表框控件中实现复选功能 |
【责任编辑:
夏书 TEL:(010)68476606】