' Determine if the currently selected item in the ListBox
' is the item displayed at the top in the ListBox.
If listBox1.TopIndex <> listBox1.SelectedIndex Then
' Make the currently selected item the top item in the ListBox.
listBox1.TopIndex = listBox1.SelectedIndex
End If
' Remove all items before the top item in the ListBox.
Dim x As Integer
For x = listBox1.SelectedIndex - 1 To 0 Step -1
listBox1.Items.RemoveAt(x)
Next x
' Clear all selections in the ListBox.
listBox1.ClearSelected()
End Sub 'RemoveTopItems
listBox1.SelectedIndex 设置选中的项!
子类化CListCtrl:1.建立CListCtrl的集成类CMyListCtrl
2.建立以CMyListCtrl的变量m_list1
3.覆盖CListCtrl::PreSubclassWindow() 函数,在函数内增加以下代码
C/C++ code?
// TODO: Add your specialized code here and/or call the base class
SetExtendedStyle( GetExtendedStyle()|LVS_EX_CHECKBOXES)
//CListCtrl::PreSubclassWindow()
4.用m_list1.SetCheck(1)设置选中,SetCheck(0)设置取消选中
可以用别的来实现的。做一个listbox控件数组,第一个放1~30000,第二个放30001~60000……
始终只有一个显示,其余的都隐藏,而且数组元素的位置、大小都一致。
当拉到一个控件的最后一个元素还往下拉,而且还有下一个的话就这个控件隐藏,下一个控件显示,而且焦点是第一行
当拉到控件的第一个元素还往上拉,而且不是第一个控件,那么就这个控件隐藏,上一个控件显示
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)