int GetTextLen( int nIndex ) const;
该函数返回指定列表项的字符串的字节长度.参数nIndex指定了列表项的索引.若出错则返回LB_ERR.
DWORD GetItemData( int nIndex ) const;
每个列表项都有一个32位的附加数据.该函数返回指定列表项的附加数据,参数nIndex指定了列表项的索引.若出错则函数返回LB_ERR.
int SetItemData( int nIndex, DWORD dwItemData );
该函数用来指定某一列表项的32位附加数据.参数nIndex指定了列表项的索引.dwItemData是要设置的附加数据值.
提示:列表项的32位附加数据可用来存储与列表项相关的数据,也可以放置指向相关数据的指针.这样,当用户选择了一个列表项时,程序可以从附加数据中快速方便地获得与列表项相关的数据.
int GetTopIndex( ) const;
该函数返回列表框中第一个可见项的索引,若出错则返回LB_ERR.
int SetTopIndex( int nIndex );
用来将指定的列表项设置为列表框的第一个可见项,该函数会将列表框滚动到合适的位置.参数nIndex指定了列表项的索引.若操作成功,函数返回0值,否则返回LB_ERR.
提示:由于列表项的内容一般是不变的,故CListBox未提供更新列表项字符串的函数.如果要改变某列表项的内容,可以先调用DeleteString删除该项,然后再用InsertString或AddString将更新后的内容插入到原来的位置.
下列CListBox的成员函数与列表项的选择有关.
int GetSel( int nIndex ) const;
该函数返回指定列表项的状态.参数nIndex指定了列表项的索引.如果查询的列表项被选择了,函数返回一个正值,否则返回0,若出错则返回LB_ERR.
int GetCurSel( ) const;
该函数仅适用于单选择列表框,用来返回当前被选择项的索引,如果没有列表项被选择或有错误发生,则函数返回LB_ERR.
int SetCurSel( int nSelect );
该函数仅适用于单选择列表框,用来选择指定的列表项.该函数会滚动列表框以使选择项可见.参数nIndex指定了列表项的索引,若为-1,那么将清除列表框中的选择.若出错函数返回LB_ERR.
int SelectString( int nStartAfter, LPCTSTR lpszItem );
该函数仅适用于单选择列表框,用来选择与指定字符串相匹配的列表项.该函数会滚动列表框以使选择项可见.参数的意义及搜索的方法与函数FindString类似.如果找到了匹配的项,函数返回该项的索引,如果没有匹配的项,函数返回LB_ERR并且当前的选择不被改变.
int GetSelCount( ) const;
该函数仅用于多重选择列表框,它返回选择项的数目,若出错函数返回LB_ERR.
int SetSel( int nIndex, BOOL bSelect = TRUE );
该函数仅适用于多重选择列表框,它使指定的列表项选中或落选.参数nIndex指定了列表项的索引,若为-1,则相当于指定了所有的项.参数bSelect为TRUE时选中列表项,否则使之落选.若出错则返回LB_ERR.
int GetSelItems( int nMaxItems, LPINT rgIndex ) const;
该函数仅用于多重选择列表框,用来获得选中的项的数目及位置.参数nMaxItems说明了参数rgIndex指向的数组的大小.参数rgIndex指向一个缓冲区,该数组是一个整型数组,用来存放选中的列表项的索引.函数返回放在缓冲区中的选择项的实际数目,若出错函数返回LB_ERR.
int SelItemRange( BOOL bSelect, int nFirstItem, int