成员函数声明如下:
int SelectString(int nStartAfter,LPCTSTR lpszItem);
该函数仅适用于单选择列表框,用来选择与指定字符串相匹配的列表项。该函数会滚动
列表框以使选择项可见。参数的意义及搜索的方法与函数FindString 类似。如果找到了匹配
的项,函数返回该项的索引,如果没有匹配的项,函数返回LB_ERR 并且当前的选择不被改
变。
15.GetSelCount()函数
该成员函数声明如下:
int GetSelCount() const;
该函数仅用于多重选择列表框,它返回选择项的数目,若出错函数返回LB_ERR。
16.SetSel()函数
该成员函数声明如下:
int SetSel(int nIndex,BOOL bSelect = TRUE);
该函数仅适用于多重选择列表框,它使指定的列表项选中或落选。参数nIndex 指定了列
表项的索引,若为-1,则相当于指定了所有的项。参数bSelect 为TRUE 时选中列表项,否则
使之落选。若出错则返回LB_ERR。
17.GetSelItems()函数
该成员函数声明如下:
int GetSelItems(int nMaxItems, LPINT rgIndex) const;
枫叶文学网www.fywxw.com
Visual C++ 6.0 程序设计从入门到精通
·122·
该函数仅用于多重选择列表框,用来获得选中的项的数目及位置。参数nMaxItems 说明
了参数rgIndex 指向的数组的大小。参数rgIndex 指向一个缓冲区,该数组是一个整型数组,
用来存放选中的列表项的索引。函数返回放在缓冲区中的选择项的实际数目,若出错函数返
回LB_ERR。
18.SetItemRange()函数
该成员函数声明如下:
int SetItemRange(BOOL bSelect,int nFirstItem,int nLastItem);
该函数仅用于多重选择列表框,用来使指定范围内的列表项选中或落选。参数nFirstItem
和nLastItem 指定了列表项索引的范围。如果参数bSelect 为TRUE,那么就选择这些列表项,
否则就使它们落选。若出错函数返回LB_ERR。
技巧:实现列表框的提示条(可以显示完整的列表框的项目文本)
用一个CListBox 派生类实现宿主(owner-draw)列表框,这个列表框的项目宽度超过了列表框本身
的宽度,因此当鼠标指针指向大宽度的列表框项时,希望显示一个类似Toolbar 的提示窗口,在窗口
中显示完整的列表框项目文本。
附带光盘下的工程演示列表框提示条的实现,主要是创建了可重用窗口类CPopupText。
CPopupText 类会根据提示文本的长度自己决定弹出窗口的大小。它的字体默认值与状态行显示字体
相同(由SystemParcomtersInfo(SP