⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uclistview.ctl

📁 需要控件:Active Report 2.0(专业报表控件破解版)2.0下的ardespro2.dll和arpro2.dll ARVIEW2.OCX等文件。即可打开源代码。
💻 CTL
📖 第 1 页 / 共 5 页
字号:
            '-- Trap next UserControl messages...
            Call Subclass_AddMsg(UserControl.hWnd, WM_MOUSEACTIVATE, MSG_BEFORE)
            Call Subclass_AddMsg(UserControl.hWnd, WM_NOTIFY, MSG_BEFORE)
            
            '-- Trap next ListView messages...
            Call Subclass_AddMsg(m_hListView, WM_SETFOCUS, MSG_BEFORE)
            Call Subclass_AddMsg(m_hListView, WM_KEYDOWN, MSG_BEFORE)
            Call Subclass_AddMsg(m_hListView, WM_CHAR, MSG_BEFORE)
            Call Subclass_AddMsg(m_hListView, WM_KEYUP, MSG_BEFORE)
            Call Subclass_AddMsg(m_hListView, WM_LBUTTONDOWN, MSG_BEFORE)
            Call Subclass_AddMsg(m_hListView, WM_RBUTTONDOWN, MSG_BEFORE)
            Call Subclass_AddMsg(m_hListView, WM_MBUTTONDOWN, MSG_BEFORE)
            Call Subclass_AddMsg(m_hListView, WM_MOUSEMOVE, MSG_BEFORE)
            Call Subclass_AddMsg(m_hListView, WM_LBUTTONUP, MSG_BEFORE)
            Call Subclass_AddMsg(m_hListView, WM_RBUTTONUP, MSG_BEFORE)
            Call Subclass_AddMsg(m_hListView, WM_MBUTTONUP, MSG_BEFORE)
            
            '-- ListView mouse enter/leave support // mouse pos. initialization
            m_bTrack = True
            m_bTrackUser32 = pvIsFunctionExported("TrackMouseEvent", "User32")
            If (Not m_bTrackUser32) Then
                If (Not pvIsFunctionExported("_TrackMouseEvent", "Comctl32")) Then
                    m_bTrack = False
                End If
            End If
            If (m_bTrack) Then
                Call Subclass_AddMsg(m_hListView, WM_MOUSELEAVE, MSG_BEFORE)
            End If
            m_snxL = -1
            m_snyL = -1
            
            '-- Initialize IOLEInPlaceActiveObject
            Call mIOleInPlaceActivate.InitIPAO(m_uIPAO, Me)
        End If
    End If
End Function

Public Function InitializeImageListSmall( _
                Optional ByVal ImageWidth As Integer = 16, _
                Optional ByVal ImageHeight As Integer = 16) As Boolean
    
    If (m_hListView) Then
    
        Call pvDestroyImageListSmall
        m_hILSmall = ImageList_Create(ImageWidth, ImageHeight, ILC_COLOR32 Or ILC_MASK, 0, 0)
        Call SendMessageLong(m_hListView, LVM_SETIMAGELIST, LVSIL_SMALL, m_hILSmall)
        
        InitializeImageListSmall = (m_hILSmall <> 0)
    End If
End Function

Public Function InitializeImageListLarge( _
                Optional ByVal ImageWidth As Integer = 32, _
                Optional ByVal ImageHeight As Integer = 32) As Boolean
    
    If (m_hListView) Then
    
        Call pvDestroyImageListLarge
        m_hILLarge = ImageList_Create(ImageWidth, ImageHeight, ILC_COLOR32 Or ILC_MASK, 0, 0)
        Call SendMessageLong(m_hListView, LVM_SETIMAGELIST, LVSIL_NORMAL, m_hILLarge)
        
        InitializeImageListLarge = (m_hILLarge <> 0)
    End If
End Function

Public Function InitializeImageListHeader( _
                Optional ByVal ImageWidth As Integer = 16, _
                Optional ByVal ImageHeight As Integer = 16) As Boolean
    
    If (m_hListView) Then
    
        Call pvDestroyImageListHeader
        m_hILHeader = ImageList_Create(ImageWidth, ImageHeight, ILC_COLOR32 Or ILC_MASK, 0, 0)
        
        InitializeImageListHeader = (m_hILHeader <> 0)
    End If
End Function

Public Sub Refresh()
    
    Call UserControl.Refresh
End Sub

'//

Public Function ImageListSmall_AddBitmap( _
                ByVal hBitmap As Long, _
                Optional ByVal MaskColor As Long = CLR_NONE _
                ) As Integer
    
    If (m_hILSmall) Then
    
        If (MaskColor <> CLR_NONE) Then
            ImageListSmall_AddBitmap = ImageList_AddMasked(m_hILSmall, hBitmap, MaskColor)
          Else
            ImageListSmall_AddBitmap = ImageList_Add(m_hILSmall, hBitmap, 0)
        End If
    End If
End Function

Public Function ImageListSmall_AddIcon( _
                ByVal hIcon As Long _
                ) As Integer
    
    If (m_hILSmall) Then
    
        ImageListSmall_AddIcon = ImageList_AddIcon(m_hILSmall, hIcon)
    End If
End Function

Public Function ImageListLarge_AddBitmap( _
                ByVal hBitmap As Long, _
                Optional ByVal MaskColor As Long = CLR_NONE _
                ) As Integer
    
    If (m_hILLarge) Then
    
        If (MaskColor <> CLR_NONE) Then
            ImageListLarge_AddBitmap = ImageList_AddMasked(m_hILLarge, hBitmap, MaskColor)
          Else
            ImageListLarge_AddBitmap = ImageList_Add(m_hILLarge, hBitmap, 0)
        End If
    End If
End Function

Public Function ImageListLarge_AddIcon( _
                ByVal hIcon As Long _
                ) As Integer
    
    If (m_hILLarge) Then
    
        ImageListLarge_AddIcon = ImageList_AddIcon(m_hILLarge, hIcon)
    End If
End Function

Public Function ImageListHeader_AddBitmap( _
                ByVal hBitmap As Long, _
                Optional ByVal MaskColor As Long = CLR_NONE _
                ) As Integer
    
    If (m_hILHeader) Then
    
        If (MaskColor <> CLR_NONE) Then
            ImageListHeader_AddBitmap = ImageList_AddMasked(m_hILHeader, hBitmap, MaskColor)
          Else
            ImageListHeader_AddBitmap = ImageList_Add(m_hILHeader, hBitmap, 0)
        End If
    End If
End Function

Public Function ImageListHeader_AddIcon( _
                ByVal hIcon As Long _
                ) As Integer
    
    If (m_hILHeader) Then
    
        ImageListHeader_AddIcon = ImageList_AddIcon(m_hILHeader, hIcon)
    End If
End Function

'//

Public Function Clear( _
                ) As Boolean

    If (m_hListView) Then
    
        Clear = CBool(SendMessageLong(m_hListView, LVM_DELETEALLITEMS, 0, 0))
    End If
End Function

Public Function Sort( _
                Optional ByVal Column As Integer = 0, _
                Optional ByVal SortOrder As eSortOrderConstants = [soAscending], _
                Optional ByVal SortType As eSortTypeConstants = [stString] _
                ) As Boolean

    If (m_hListView) Then
        Sort = mListViewEx.Sort(m_hListView, Column, SortOrder, SortType)
    End If
End Function

Public Function BackgroundPictureSet( _
                ByVal URL As String _
                ) As Boolean
  
  Dim uLBI As LVBKIMAGE
  Dim lRet As Long
   
    If (m_hListView) Then
        
        With uLBI
            .pszImage = URL & vbNullChar
            .cchImageMax = Len(URL) + 1
            .ulFlags = LVBKIF_SOURCE_URL Or LVBKIF_STYLE_TILE
        End With
        lRet = SendMessage(m_hListView, LVM_SETBKIMAGE, 0, uLBI)
        
        If (lRet) Then
            Call SendMessageLong(m_hListView, LVM_SETTEXTBKCOLOR, 0, CLR_NONE)
            BackgroundPictureSet = True
        End If
   End If
End Function

'//

Public Function ColumnAdd( _
                ByVal Column As Integer, _
                ByVal Text As String, _
                ByVal Width As Integer, _
                Optional ByVal Align As eColumnAlignConstants = [caLeft], _
                Optional ByVal Icon As Integer = -1 _
                ) As Boolean

  Dim uLVC   As LVCOLUMN
  Dim uHDI   As HDITEM
  Dim bFirst As Boolean
  
    If (m_hListView) Then
        
        bFirst = (Me.ColumnCount = 0)
        ColumnAdd = (SendMessage(m_hListView, LVM_INSERTCOLUMN, Column, uLVC) > -1)
        
        If (ColumnAdd) Then
        
            If (bFirst) Then
                m_hHeader = pvHeaderhWnd()
                Call SendMessageLong(m_hHeader, HDM_SETIMAGELIST, 0, m_hILHeader)
            End If
            
            With uHDI
                .pszText = Text + vbNullChar
                .cchTextMax = Len(Text) + 1
                .cxy = Width
                .iImage = Icon
                .fmt = HDF_STRING Or Align * -(Column <> 0) Or HDF_IMAGE * -(Icon > -1) Or HDF_BITMAP_ON_RIGHT
                .mask = HDI_TEXT Or HDI_WIDTH Or HDI_IMAGE Or HDI_FORMAT
            End With
            Call SendMessage(m_hHeader, HDM_SETITEM, Column, uHDI)
        End If
    End If
End Function

Public Function ColumnRemove( _
                ByVal Column As Integer _
                ) As Boolean
           
    If (m_hListView) Then
    
        ColumnRemove = CBool(SendMessageLong(m_hListView, LVM_DELETECOLUMN, Column, 0))
        
        If (Me.ColumnCount = 0) Then
            m_hHeader = 0
        End If
    End If
End Function

Public Function ColumnAutosize( _
                ByVal Column As Integer, _
                Optional ByVal AutosizeType As eColumnAutosizeConstants = [caItem] _
                ) As Boolean

    If (m_hListView) Then
    
        ColumnAutosize = CBool(SendMessageLong(m_hListView, LVM_SETCOLUMNWIDTH, Column, AutosizeType))
    End If
End Function

'//

Public Function ItemAdd( _
                ByVal Item As Integer, _
                ByVal Text As String, _
                ByVal Indent As Integer, _
                ByVal Icon As Integer _
                ) As Boolean
   
  Dim uLV As LVITEM
  
    If (m_hListView) Then

        With uLV
            .iItem = Item
            .lparam = Item
            .pszText = Text & vbNullChar
            .cchTextMax = Len(Text) + 1
            .iIndent = Indent
            .iImage = Icon
            .mask = LVIF_TEXT Or LVIF_INDENT Or LVIF_IMAGE Or LVIF_PARAM
        End With
        ItemAdd = (SendMessage(m_hListView, LVM_INSERTITEM, 0, uLV) > -1)
        
        If (SendMessageLong(m_hListView, LVM_GETITEMCOUNT, 0, 0) = 1) Then
            m_bFirstItem = True: Me.ItemFocused(0) = True
          Else
            m_bFirstItem = False
        End If
    End If
End Function

Public Function ItemRemove( _
                ByVal Item As Integer _
                ) As Boolean
    
    If (m_hListView) Then
    
        ItemRemove = CBool(SendMessageLong(m_hListView, LVM_DELETEITEM, Item, 0))
    End If
End Function

Public Function ItemEnsureVisible( _
                ByVal Item As Integer _
                ) As Boolean

    If (m_hListView) Then
    
        ItemEnsureVisible = CBool(SendMessageLong(m_hListView, LVM_ENSUREVISIBLE, Item, 0))
    End If
End Function
 
Public Function ItemFindText( _
                ByVal Text As String, _
                Optional ByVal StartItem As Integer = -1, _
                Optional ByVal Coincidence As eCoincidenceConstants = 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -