关于listview中的记录保持焦点的问题? 现有一个listview列表框,当我单击其中的一条记录时,必须保证当我单击其它记录时,我刚开始单击的记录必须高亮显示,这样我就可以批量点选多条不连续的记录问题是我现在必须借助Ctrl才能实现点选多条不连续的记录,我想抛弃Ctrl实现点选多条不连续的记录,我该如何实现?谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果一定要用listview,要不我不知道要不要用到麻烦的方法了不过建议去使用listbox将其multiselect属性设置为1 - simple 即可 这个以5.0版本作为例子,6.0的请做适当修改,加一个按扭用来释放CONTROL键有个缺点就是焦点不能离开窗体,否则按下的按键都是Ctrl+?类型,除非按下按扭释放CONTROL键,关于解决方法,可以用子类来检验窗体的焦点是否失去Private Declare Sub keybd_event Lib "user32.dll" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)Const KEYEVENTF_EXTENDEDKEY = &H1Const KEYEVENTF_KEYUP = &H2Const VK_CONTROL = &H11Private Sub Command1_Click()keybd_event VK_CONTROL, 0, KEYEVENTF_KEYUP, 0 ' release VK_CONTROLEnd SubPrivate Sub Form_Load()ListView1.MultiSelect = TrueListView1.ListItems.Add , , "test1"ListView1.ListItems.Add , , "test2"ListView1.ListItems.Add , , "test3"ListView1.ListItems.Add , , "test4"End SubPrivate Sub ListView1_ItemClick(ByVal Item As ComctlLib.ListItem)keybd_event VK_CONTROL, 0, 0, 0 ' press VK_CONTROLEnd Sub vb中getobject只能获取同名进程多开时的第一个进程对象的难题 50分在线问:data Report控件中能对Label标签控件赋值吗? 如何判断2个数组的某个值相等,就把相等的数加如新数组? 一个具体的焦点问题。 现在补丁程序的制作一般都用什么工具? 我在设计一个打印票据的程序,打印完成后,需要退回一张纸,如何做呢,在线等待 如何取得注册表某个值 我觉得API其实copy function 加一些组合嘛,学了API 再学什么呢? 如何把后台的时间传到DTP时间控件阿 关于Mts问题,非高手莫看 当winsock通信出错时 如何改变listView控件里面items的颜色?
不过建议去使用listbox
将其multiselect属性设置为1 - simple 即可
有个缺点就是焦点不能离开窗体,否则按下的按键都是Ctrl+?类型,除非按下按扭释放CONTROL键,关于解决方法,可以用子类来检验窗体的焦点是否失去Private Declare Sub keybd_event Lib "user32.dll" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Const KEYEVENTF_EXTENDEDKEY = &H1
Const KEYEVENTF_KEYUP = &H2
Const VK_CONTROL = &H11Private Sub Command1_Click()
keybd_event VK_CONTROL, 0, KEYEVENTF_KEYUP, 0 ' release VK_CONTROL
End SubPrivate Sub Form_Load()
ListView1.MultiSelect = True
ListView1.ListItems.Add , , "test1"
ListView1.ListItems.Add , , "test2"
ListView1.ListItems.Add , , "test3"
ListView1.ListItems.Add , , "test4"
End SubPrivate Sub ListView1_ItemClick(ByVal Item As ComctlLib.ListItem)
keybd_event VK_CONTROL, 0, 0, 0 ' press VK_CONTROL
End Sub