Listview控件选中一行时,只有第一列可以选中,而且选中的内容还只有广西的宽度,不是列宽,其它的列都没有变化,如何实现在任意一行点击时让整个一行都是选中状态呀?

解决方案 »

  1.   

    补充一个问题,如何让ListView显示网格线?
      

  2.   

    ListView.FullRowSelect = True选上这个就可以了,还可以加上网格线ListView.GridLines = True
      

  3.   

    ListView1.GridLines = True '是否有网格线
    ListView1.ColumnHeaders.Clear '清除列标题
    ListView1.ListItems.Clear '清空所有项
    ListView1.FullRowSelect = True '整行选择
      

  4.   

    ListView.GridLines = True '是否有网格线
    ListView.ListItems.Clear '清空所有项
      

  5.   

    Option Explicit
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, _
        ByVal wParam As Long, lParam As Any) As Long
    Private Const LVS_EX_FULLROWSELECT = &H20
    Private Const LVM_FIRST = &H1000
    Private Const LVM_GETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + &H37
    Private Const LVM_SETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + &H36Private Sub Improve_Listview(objListBox As Object)  '用户点击列表框中项目时选中整行    Dim lStyle As Long
         
        lStyle = SendMessage(objListBox.hwnd, LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0)
        lStyle = LVS_EX_FULLROWSELECT
        Call SendMessage(objListBox.hwnd, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, ByVal lStyle)End Sub
    Private Sub Form_Load()
        Improve_Listview Me.lvFiles  '用户点击列表框中项目时选中整行
      
    End Sub
      

  6.   

    http://www.china-askpro.com/msg10/qa33.shtml