我们在使用很多软件的时侯,总是在LISTVIEW控件的标题栏上看到一个倒的三角形,但是这是怎么做的,是放上一个字符,还是导入一张图片,如果是图片,那该怎么怎么导入,有现成的图片下载网址吗!!!

解决方案 »

  1.   

    与他配套的有一个叫Image的就可以导入了!
      

  2.   

    Option Explicit'-----------------------------------------------------------------------------------------
    ' Copyright ?1996-2004 VBnet, Randy Birch. All Rights Reserved Worldwide.
    '        Terms of use http://vbnet.mvps.org/terms/pages/terms.htm
    '-----------------------------------------------------------------------------------------Private Const LVM_FIRST = &H1000
    Private Const LVM_GETHEADER = (LVM_FIRST + 31)Private Const HDI_BITMAP = &H10
    Private Const HDI_IMAGE = &H20
    Private Const HDI_FORMAT = &H4
    Private Const HDI_TEXT = &H2Private Const HDF_BITMAP_ON_RIGHT = &H1000
    Private Const HDF_BITMAP = &H2000
    Private Const HDF_IMAGE = &H800
    Private Const HDF_STRING = &H4000Private Const HDM_FIRST = &H1200
    Private Const HDM_SETITEM = (HDM_FIRST + 4)
    Private Const HDM_SETIMAGELIST = (HDM_FIRST + 8)
    Private Const HDM_GETIMAGELIST = (HDM_FIRST + 9)Private Type HD_ITEM
       mask As Long
       cxy As Long
       pszText As String
       hbm As Long
       cchTextMax As Long
       fmt As Long
       lParam As Long
       iImage As Long
       iOrder As Long
    End TypePrivate 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 Sub Form_Load()   Dim i As Integer
       Dim itmX As ListItem
       
      'Create and populate the listview
       With ListView1
          .View = lvwReport
          .SmallIcons = ImageList1
          
          For i = 1 To 3
             .ColumnHeaders.Add , "x" & i, "Column " & i
             .ColumnHeaders.Item(i).Width = 1520
          Next i
          
          For i = 1 To 9
             Set itmX = .ListItems.Add(, "key" & i, "Item " & i)
             itmX.SubItems(1) = "Subitem " & i
             itmX.SubItems(2) = "Subitem " & i
          Next i
          
       End With
       
      'ShowHeaderIcon colNo, imgIndex, showFlag
       ShowHeaderIcon 0, 0, True
       
    End Sub
    Private Sub Command1_Click()   Unload Me
          
    End Sub
    Public Sub ShowHeaderIcon(colNo As Long, _
                              imgIconNo As Long, _
                              showImage As Long)   Dim hHeader As Long
       Dim HD As HD_ITEM
       
      'get a handle to the listview header component
       hHeader = SendMessage(ListView1.hwnd, LVM_GETHEADER, 0, ByVal 0)
       
      'set up the required structure members
       With HD
          .mask = HDI_IMAGE Or HDI_FORMAT
          .pszText = ListView1.ColumnHeaders(colNo + 1).Text
          
           If showImage Then
             .fmt = HDF_STRING Or HDF_IMAGE Or HDF_BITMAP_ON_RIGHT
             .iImage = imgIconNo
           Else
             .fmt = HDF_STRING
          End If
       End With
       
      'modify the header
       Call SendMessage(hHeader, HDM_SETITEM, colNo, HD)
       
    End SubPrivate Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
    Dim i As Long
       Static sOrder
       
       sOrder = Not sOrder
       
      'Use default sorting to sort the items in the list
       ListView1.SortKey = ColumnHeader.Index - 1
       ListView1.SortOrder = Abs(sOrder)
       ListView1.Sorted = True
       
      'clear the image from the headers not
      'currently selected, and update the
      'header clicked
       For i = 0 To 2
          
         'if this is the index of the header clicked
          If i = ListView1.SortKey Then
          
            'ShowHeaderIcon colNo, imgIndex, showFlag
             ShowHeaderIcon ListView1.SortKey, _
                            ListView1.SortOrder, _
                            True
                               
          Else
             ShowHeaderIcon i, 0, False
          End If
       
       Next
       
    End Sub
      

  3.   

    这个是代码,图是ICO的图,偶有。
      

  4.   

    添加ImageList,ListView控件设置ImageList
    插入图片到ImageList中,并标记好索引设置ListView
    在它的 “图像列表”—》“小图标”和“列标头”设为ImageList'当点击标题时,显示相应的列标头
    Private Sub ProfileList_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
        
        With ListView
            .Sorted = True     
            .ColumnHeader.Icon = 1'显示倒三角
        End WithEnd Sub
      

  5.   

    With LvwOp
             .View = lvwReport
             .ColumnHeaders.Add , "ID", "编号", .Width / 7
             .ColumnHeaders(1).Tag = "编号"
             .ColumnHeaders.Add , "Name", "名称", .Width / 3
             .ColumnHeaders(2).Tag = "名称"
             .ColumnHeaders.Add , "PWD", "密码", .Width / 4
             .ColumnHeaders(3).Tag = "密码"
             
        End WithPrivate Sub LvwOp_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
       Dim i As Integer
       LvwOp.Sorted = True
       
       For i = 1 To LvwOp.ColumnHeaders.Count
          LvwOp.ColumnHeaders(i).Text = LvwOp.ColumnHeaders(i).Tag
       Next
        
        
       If ColumnHeader.Index = CInt(LvwOp.Tag) Then
          If LvwOp.SortOrder = lvwAscending Then
             LvwOp.SortOrder = lvwDescending
          Else
             LvwOp.SortOrder = lvwAscending
          End If
       End If
        
       If LvwOp.SortOrder = lvwDescending Then
           ColumnHeader.Text = ColumnHeader.Tag & " ▽"
       Else
          ColumnHeader.Text = ColumnHeader.Tag & " △"
       End If
       
       LvwOp.Tag = ColumnHeader.Index
       LvwOp.SortKey = ColumnHeader.Index - 1
       LvwOp.Sorted = False
       
    End Sub