MFC----windows控件----列表控件

来源:互联网 发布:手机壳定制软件 编辑:程序博客网 时间:2024/04/30 01:37

列表控件(CListBox和CListCtrl)基本介绍

               系统提供了两种列表控件一个是 CListBox,另一个是CListCtrl。CListBox提供的功能很简单,只能显示某个项的列表,用AddString()就可以向列表框加入字符串。
CListCtrl提供的功能就相对丰富,它能显示图标视图,小图标视图,列表视图和报告试图.

CListBox风格

  LBS_EXTENDEDSEL                                           支持多重选择.在点击列表项时按住Shift键或Ctrl键即可选择多个 项.

LBS_HASSTRINGS                                                 指定一个含有字符串的自绘式列表框.

LBS_MULTICOLUMN                                             指定一个水平滚动的多列列表框,通过调用CListBox::SetColumnWidth来设置每列的宽度.

LBS_MULTIPLESEL                                               支持多重选择.列表项的选择状态随着用户对该项单击或双击鼠标而翻转.

LBS_NOINTEGRALHEIGHT                                 列表框的尺寸由应用程序而不是Windows指定.通常,Windows指定尺寸会使列表项的某些部分隐藏起来.

LBS_NOREDRAW                                                 当选择发生变化时防止列表框被更新,可发送WM_SETREDRAW来改变该风格.

LBS_NOTIFY                                                           当用户单击或双击鼠标时通知父窗口.

LBS_OWNERDRAWFIXED                                  指定自绘式列表框,即由父窗口负责绘制列表框的内容,并且列表项有相同的高度.

LBS_OWNERDRAWVARIABLE                           指定自绘式列表框,并且列表项有不同的高度.

LBS_SORT                                                              使插入列表框中的项按升序排列.

LBS_STANDARD                                                   相当于指定了WS_BORDER|WS_VSCROLL|LBS_SORT |LBS_NOTIFY.

LBS_USETABSTOPS                                            使列表框在显示列表项时识别并扩展制表符(‘\t’),缺省的制表宽度是32个对话框单位.

LBS_WANTKEYBOARDINPUT                           允许列表框的父窗口接收WM_VKEYTOITEM和WM_CHARTOITEM消息,以响应键盘输入.

LBS_DISABLENOSCROLL                                 使列表框在不需要滚动时显示一个禁止的垂直滚动条.

常用函数

int        AddString(LPCTSTR     lpszItem)                                往列表框中加入字符,返回字符串在列表框的位置

int        InSertString(int  nIndex,LPCTSTR  lpszItem)            往列表框指定位置插入字符串,返回实际插入的位置

int        DeleteString(UINT  nIndex)                                          删除指定的列表项

int        ResetContent()                                                               清除所有列表项

int        Dir(UINT  attr,LPCTSTR  lpszWildCard)                    向列表框加入所有与指定通配符相匹配的文件名或驱动器名

int        GetCount()                                                                       返回列表框的总数

int        FindString(int  nStartAfter,LPCTSTR  lpszItem)        搜索列表项

int        GetText(int nIndex,LPTSTR  lpszBuffer)                     获取指定列表项的字符串

void     GetText(int  nIndex,CString  &rString)

int         GetTextLen(int  nIndex)                                                返回指定列表项的字符串的字节长度

DWORD GetItemData(int  nIndex)                                           返回列表项的附加数据

int         GetSel(int   nIndex)                                                        返回指定列表项的状态

int         GetCurSel()                                                                     仅适合单选列表框,返回单签选择的索引