home *** CD-ROM | disk | FTP | other *** search
- Attribute VB_Name = "modListViewEnh"
-
- '/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\
- '/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\
- '
- ' File Name: modListViewEnh.mod
- ' By: John Allan Lee
- ' Email Address: zero42@quik.com
- ' Last Revision: Wednesday, October 13, 1999
- '
- ' Assumes: None
- '
- ' Number of Functions: 24
- '
- ' Includes: EnhListView_ResizeColumns(lstListViewName As ListView, Optional bolShowErrors As Boolean) As Boolean
- ' Type: Public Function
- ' Description: Resizes all Columns in a ListView to fit the text in the rows
- '
- ' Includes: EnhListView_SortColumns(lstListViewName As ListView, usdColIndex, Optional bolShowErrors As Boolean) As Boolean
- ' Type: Public Function
- ' Description: Use on ColumnClick to sort by that Column
- ' Toggles between Ascending and Descending Sorts
- '
- ' Includes: EnhListView_ResizeColumnCaptions(lstListViewName As ListView, Optional bolShowErrors As Boolean) As Boolean
- ' Type: Public Function
- ' Description: Resizes all Columns in a ListView to the Text in the Column Caption
- '
- ' Includes: EnhListView_ResizeColumnHeaders(lstListViewName As ListView, Optional bolShowErrors As Boolean) As Boolean
- ' Type: Public Function
- ' Description: Resizes the ColumnHeaders in a ListView to the Width
- ' of the ListView
- '
- ' Includes: EnhListView_Add_FullRowSelect( lstListViewName As ListView, Optional bolShowErrors As Boolean) As Boolean
- ' Type: Public Function
- ' Description: Enables Full Row Select in a ListView
- '
- ' Includes: EnhListView_Rem_FullRowSelect( lstListViewName As ListView, Optional bolShowErrors As Boolean) As Boolean
- ' Type: Public Function
- ' Description: Disables Full Row Select in a ListView
- '
- ' Includes: EnhListView_Add_GridLines( lstListViewName As ListView, Optional bolShowErrors As Boolean) As Boolean
- ' Type: Public Function
- ' Description: Enables GridLines in a ListView
- '
- ' Includes: EnhListView_Rem_GridLines( lstListViewName As ListView, Optional bolShowErrors As Boolean) As Boolean
- ' Type: Public Function
- ' Description: Disables GridLines in a ListView
- '
- ' Includes: EnhListView_Add_CheckBoxes( lstListViewName As ListView, Optional bolShowErrors As Boolean) As Boolean
- ' Type: Public Function
- ' Description: Enables CheckBoxes in a ListView
- '
- ' Includes: EnhListView_Rem_CheckBoxes( lstListViewName As ListView, Optional bolShowErrors As Boolean) As Boolean
- ' Type: Public Function
- ' Description: Disables CheckBoxes in a ListView
- '
- ' Includes: EnhListView_Add_AllowRepositioning( lstListViewName As ListView, Optional bolShowErrors As Boolean) As Boolean
- ' Type: Public Function
- ' Description: Enables Repositioning of ColumnHeaders in a ListView
- '
- ' Includes: EnhListView_Rem_AllowRepositioning( lstListViewName As ListView, Optional bolShowErrors As Boolean) As Boolean
- ' Type: Public Function
- ' Description: Disables Repositioning of ColumnHeaders in a ListView
- '
- ' Includes: EnhListView_Add_TrackSelected( lstListViewName As ListView, Optional bolShowErrors As Boolean) As Boolean
- ' Type: Public Function
- ' Description: Enables TrackSelected in a ListView
- '
- ' Includes: EnhListView_Rem_TrackSelected( lstListViewName As ListView, Optional bolShowErrors As Boolean) As Boolean
- ' Type: Public Function
- ' Description: Disables TrackSelected in a ListView
- '
- ' Includes: EnhListView_Add_OneClickActivate( lstListViewName As ListView, Optional bolShowErrors As Boolean) As Boolean
- ' Type: Public Function
- ' Description: Enables One Click Activate in a ListView
- '
- ' Includes: EnhListView_Rem_OneClickActivate( lstListViewName As ListView, Optional bolShowErrors As Boolean) As Boolean
- ' Type: Public Function
- ' Description: Disables One Click Activate in a ListView
- '
- ' Includes: EnhListView_Add_TwoClickActivate( lstListViewName As ListView, Optional bolShowErrors As Boolean) As Boolean
- ' Type: Public Function
- ' Description: Enables Two Click Activate in a ListView
- '
- ' Includes: EnhListView_Rem_TwoClickActivate( lstListViewName As ListView, Optional bolShowErrors As Boolean) As Boolean
- ' Type: Public Function
- ' Description: Enables Full Row Select in a ListView
- '
- ' Includes: EnhListView_Add_SubitemImages( lstListViewName As ListView, Optional bolShowErrors As Boolean) As Boolean
- ' Type: Public Function
- ' Description: Enables SubItem Images in a ListView
- '
- ' Includes: EnhListView_Rem_SubitemImages( lstListViewName As ListView, Optional bolShowErrors As Boolean) As Boolean
- ' Type: Public Function
- ' Description: Disables SubItem Images in a ListView
- '
- ' Includes: EnhLitView_CheckAllItems( lstListViewName As ListView, Optional bolShowErrors As Boolean) As Boolean
- ' Type: Public Function
- ' Description: Checks all Items in the ListView
- '
- ' Includes: EnhLitView_UnCheckAllItems( lstListViewName As ListView, Optional bolShowErrors As Boolean) As Boolean
- ' Type: Public Function
- ' Description: Unchecks all items in a ListView
- '
- ' Includes: EnhListView_InvertAllChecks( lstListViewName As ListView, Optional bolShowErrors As Boolean) As Boolean
- ' Type: Public Function
- ' Description: Inverts all checked items in a ListView
- '
- ' Includes: EnhListView_Toggle_FlatColumnHeaders( frmFormName As Form, lstListViewName As ListView, Optional bolShowErrors As Boolean) As Boolean
- ' Type: Public Function
- ' Description: Toggles FlatColumnHeaders in a ListView
- '
- ' Variable Name: LengthPerCharacter
- ' Type: Long
- ' Description: Used to set the length in twips per character for column spacing
- ' Defaults to 80 if not specified
- '
- ' Disclaimer:
- ' Code provided by John Allan Lee 'as is', without warranties as to
- ' performance, fitness, merchantability, and any other warranty
- ' (whether expressed or implied).
- ' This source code is copyrighted by John Allan Lee who has exclusive
- ' rights to distribute it.
- '
- ' Freeware:
- ' Code is freely redistributable for personal use in source code form,
- ' or for personal or business use in a non-source code binary executable.
- ' All other redistributions are prohibited without express written consent
- ' from John Allan Lee.
- '
- '/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\
- '/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\_/=\
-
- Option Explicit
-
- '=======================================================================
- ' needed for Enhancements
- Private Const LVIS_STATEIMAGEMASK As Long = &HF000
-
- Private Type LVITEM
- mask As Long
- iItem As Long
- iSubItem As Long
- state As Long
- stateMask As Long
- pszText As String
- cchTextMax As Long
- iImage As Long
- lParam As Long
- iIndent As Long
- End Type
-
- Const SWP_DRAWFRAME = &H20
- Const SWP_NOMOVE = &H2
- Const SWP_NOSIZE = &H1
- Const SWP_NOZORDER = &H4
-
- Private Const LVS_EX_FULLROWSELECT = &H20
- Private Const LVS_EX_GRIDLINES = &H1
- Private Const LVS_EX_CHECKBOXES As Long = &H4
- Private Const LVS_EX_HEADERDRAGDROP = &H10
- Private Const LVS_EX_TRACKSELECT = &H8
- Private Const LVS_EX_ONECLICKACTIVATE = &H40
- Private Const LVS_EX_TWOCLICKACTIVATE = &H80
- Private Const LVS_EX_SUBITEMIMAGES = &H2
-
- Private Const LVM_FIRST = &H1000
- Private Const LVM_SETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 54
- Private Const LVM_GETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 55
- Private Const LVM_GETHEADER = (LVM_FIRST + 31)
-
- Public Const LVIF_STATE = &H8
- Public Const LVM_SETITEMSTATE = (LVM_FIRST + 43)
- Public Const LVM_GETITEMSTATE As Long = (LVM_FIRST + 44)
-
- Private Const HDS_BUTTONS = &H2
- Private Const GWL_STYLE = (-16)
-
- Private Const SWP_FLAGS = SWP_NOZORDER Or SWP_NOSIZE Or SWP_NOMOVE Or SWP_DRAWFRAME
-
- Public Declare Function SendMessageAny _
- Lib "user32" _
- Alias "SendMessageA" _
- (ByVal hwnd As Long, _
- ByVal Msg As Long, _
- ByVal wParam As Long, _
- lParam As Any) _
- As Long
-
- Private Declare Function SendMessageLong Lib _
- "user32" Alias _
- "SendMessageA" _
- (ByVal hwnd As Long, _
- ByVal Msg As Long, _
- ByVal wParam As Long, _
- ByVal lParam As Long) _
- As Long
-
- Private Declare Function GetWindowLong _
- Lib "user32" _
- Alias "GetWindowLongA" _
- (ByVal hwnd As Long, _
- ByVal nIndex As Long) _
- As Long
-
- Private Declare Function SetWindowLong _
- Lib "user32" _
- Alias "SetWindowLongA" _
- (ByVal hwnd As Long, _
- ByVal nIndex As Long, _
- ByVal dwNewLong As Long) _
- As Long
-
- Private Declare Function SetWindowPos _
- Lib "user32" _
- (ByVal hwnd As Long, _
- ByVal hWndInsertAfter As Long, _
- ByVal x As Long, _
- ByVal Y As Long, _
- ByVal cx As Long, _
- ByVal cy As Long, _
- ByVal wFlags As Long) _
- As Long
- '=======================================================================
-
- '=======================================================================
- Public LengthPerCharacter As Long
- '=======================================================================
-
- '=======================================================================
- ' Description: Resizes all Columns in a ListView to fit the text in
- ' the rows
- '=======================================================================
- Public Function EnhListView_ResizeColumns( _
- lstListViewName As ListView, _
- Optional bolShowErrors As Boolean) _
- As Boolean
-
- '_______________________________________________________________________
- ' initiate error handler
- On Error GoTo err_EnhListView_ResizeColumns
-
- '_______________________________________________________________________
- ' set function return to true
- EnhListView_ResizeColumns = True
-
- '_______________________________________________________________________
- ' if the user has not set LengthPerCharacter use 80
- If LengthPerCharacter = 0 Then LengthPerCharacter = "80"
-
- '_______________________________________________________________________
- ' if there are columns to go through...
- If lstListViewName.ListItems.Count > 0 Then
- ' setup variables
- Dim lngIndexCounter As Long
- Dim lngColumnCounter As Long
- ' move through each column
- For lngColumnCounter = 1 To lstListViewName.ColumnHeaders.Count
- ' move though each entry
- For lngIndexCounter = 1 To lstListViewName.ListItems.Count
- ' if it is not the first column
- If lngColumnCounter > 1 Then
- ' size the column 85 twips per letter
- If Len(lstListViewName.ListItems.Item(lngIndexCounter).SubItems(lngColumnCounter - 1)) * LengthPerCharacter > _
- lstListViewName.ColumnHeaders.Item(lngColumnCounter).Width Then
- lstListViewName.ColumnHeaders.Item(lngColumnCounter).Width = _
- Len(lstListViewName.ListItems.Item(lngIndexCounter).SubItems(lngColumnCounter - 1)) * LengthPerCharacter
- End If
- ' if it is the first column
- Else
- ' size the column 85 twips per letter
- If Len(lstListViewName.ListItems.Item(lngIndexCounter).Text) * LengthPerCharacter > _
- lstListViewName.ColumnHeaders.Item(lngColumnCounter).Width Then
- lstListViewName.ColumnHeaders.Item(lngColumnCounter).Width = _
- Len(lstListViewName.ListItems.Item(lngIndexCounter).Text) * LengthPerCharacter
- End If
- End If
- Next lngIndexCounter
- Next lngColumnCounter
- End If
-
- '_______________________________________________________________________
- ' exit before error handler
- Exit Function
-
- '_______________________________________________________________________
- ' deal with errors
- err_EnhListView_ResizeColumns:
-
- '_______________________________________________________________________
- ' set function return to false
- EnhListView_ResizeColumns = False
- '_______________________________________________________________________
- ' if you want notification on an error
- If bolShowErrors = True Then
- MsgBox "Error" & Err.Number & vbTab & Err.Description, _
- vbOKOnly + vbInformation, _
- "Error in Function : EnhListView_ResizeColumns"
- End If
-
- '_______________________________________________________________________
- ' initiate debug
- Debug.Print Now & vbTab & "Error in function: EnhListView_ResizeColumns" _
- & vbCrLf & _
- Err.Number & vbTab & Err.Description
- Debug.Assert False
-
- '_______________________________________________________________________
- ' exit
- Exit Function
-
- End Function
- '=======================================================================
-
- '=======================================================================
- ' Description: Use on ColumnClick to sort by that Column
- ' Toggles between Ascending and Descending Sorts
- '=======================================================================
- Public Function EnhListView_SortColumns( _
- lstListViewName As ListView, _
- usdColIndex, _
- Optional bolShowErrors As Boolean) _
- As Boolean
-
- '_______________________________________________________________________
- ' initiate error handler
- On Error GoTo err_EnhListView_SortColumns
-
- '_______________________________________________________________________
- ' set function return to true
- EnhListView_SortColumns = True
-
- '_______________________________________________________________________
- ' if there are columns to go through...
- If lstListViewName.ListItems.Count > 0 Then
- ' if the sort property is turned off turn it on
- If lstListViewName.Sorted = False Then lstListViewName.Sorted = True
- ' set the sortby column
- lstListViewName.SortKey = _
- lstListViewName.ColumnHeaders.Item(usdColIndex).Index - 1
- ' if it's sorted ascending
- If lstListViewName.SortOrder = lvwAscending Then
- ' sort it descending
- lstListViewName.SortOrder = lvwDescending
- ' if it's sorted descending
- Else
- ' sort it ascending
- lstListViewName.SortOrder = lvwAscending
- End If
- End If
-
- '_______________________________________________________________________
- ' exit before error handler
- Exit Function
-
- '_______________________________________________________________________
- ' deal with errors
- err_EnhListView_SortColumns:
-
- '_______________________________________________________________________
- ' set function return to false
- EnhListView_SortColumns = False
- '_______________________________________________________________________
- ' if you want notification on an error
- If bolShowErrors = True Then
- MsgBox "Error" & Err.Number & vbTab & Err.Description, _
- vbOKOnly + vbInformation, _
- "Error in Function : EnhListView_SortColumns"
- End If
-
- '_______________________________________________________________________
- ' initiate debug
- Debug.Print Now & vbTab & "Error in function: EnhListView_SortColumns" _
- & vbCrLf & _
- Err.Number & vbTab & Err.Description
- Debug.Assert False
-
- '_______________________________________________________________________
- ' exit
- Exit Function
-
- End Function
- '=======================================================================
-
- '=======================================================================
- ' Description: Resizes all Columns in a ListView to the Text in the
- ' Column Caption
- '=======================================================================
- Public Function EnhListView_ResizeColumnCaptions( _
- lstListViewName As ListView, _
- Optional bolShowErrors As Boolean) _
- As Boolean
-
- '_______________________________________________________________________
- ' initiate error handler
- On Error GoTo err_EnhListView_ResizeColumnCaptions
-
- '_______________________________________________________________________
- ' set function return to true
- EnhListView_ResizeColumnCaptions = True
-
- '_______________________________________________________________________
- ' if the user has not set LengthPerCharacter use 80
- If LengthPerCharacter = 0 Then LengthPerCharacter = "80"
-
- '_______________________________________________________________________
- ' if there are columns to go through...
- If lstListViewName.ListItems.Count > 0 Then
- ' setup variables
- Dim lngColumnCounter As Long
- ' move through each column
- For lngColumnCounter = 1 To lstListViewName.ColumnHeaders.Count
- ' make the size of the column equal to 85 twips per character
- lstListViewName.ColumnHeaders.Item(lngColumnCounter).Width = _
- Len(lstListViewName.ColumnHeaders.Item(lngColumnCounter).Text) * LengthPerCharacter
- Next lngColumnCounter
- End If
-
- '_______________________________________________________________________
- ' exit before error handler
- Exit Function
-
- '_______________________________________________________________________
- ' deal with errors
- err_EnhListView_ResizeColumnCaptions:
-
- '_______________________________________________________________________
- ' set function return to false
- EnhListView_ResizeColumnCaptions = False
- '_______________________________________________________________________
- ' if you want notification on an error
- If bolShowErrors = True Then
- MsgBox "Error" & Err.Number & vbTab & Err.Description, _
- vbOKOnly + vbInformation, _
- "Error in Function : EnhListView_ResizeColumnCaptions"
- End If
-
- '_______________________________________________________________________
- ' initiate debug
- Debug.Print Now & vbTab & "Error in function: EnhListView_ResizeColumnCaptions" _
- & vbCrLf & _
- Err.Number & vbTab & Err.Description
- Debug.Assert False
-
- '_______________________________________________________________________
- ' exit
- Exit Function
-
- End Function
- '=======================================================================
-
- '=======================================================================
- ' Description: Resizes the ColumnHeaders in a ListView to the Width
- ' of the ListView
- '=======================================================================
- Public Function EnhListView_ResizeColumnHeaders( _
- lstListViewName As ListView, _
- Optional bolShowErrors As Boolean) _
- As Boolean
-
- '________________________________________________________________________
- ' initiate error handler
- On Error GoTo err_EnhListView_ResizeColumnHeaders
-
- '________________________________________________________________________
- ' set function return to true
- EnhListView_ResizeColumnHeaders = True
-
- '________________________________________________________________________
- ' setup variables
- Dim lngColCounter As Long
- Dim lngListViewDiv As Long
-
- '________________________________________________________________________
- ' fill variables
- lngListViewDiv = lstListViewName.Width / lstListViewName.ColumnHeaders.Count - 300
-
- '________________________________________________________________________
- For lngColCounter = 1 To lstListViewName.ColumnHeaders.Count
- lstListViewName.ColumnHeaders(lngColCounter).Width = lngListViewDiv
- Next lngColCounter
-
- '________________________________________________________________________
- ' exit before error handler
- Exit Function
-
- '________________________________________________________________________
- ' deal with errors
- err_EnhListView_ResizeColumnHeaders:
-
- '________________________________________________________________________
- ' set function return to false
- EnhListView_ResizeColumnHeaders = False
- '________________________________________________________________________
- ' if you want notification on an error
- If bolShowErrors = True Then
- MsgBox "Error" & Err.Number & vbTab & Err.Description, _
- vbOKOnly + vbInformation, _
- "Error in Function : EnhListView_ResizeColumnHeaders"
- End If
-
- '________________________________________________________________________
- ' initiate debug
- Debug.Print Now & vbTab & "Error in function: EnhListView_ResizeColumnHeaders" _
- & vbCrLf & _
- Err.Number & vbTab & Err.Description
- Debug.Assert False
-
- '________________________________________________________________________
- ' exit
- Exit Function
-
- End Function
- '=======================================================================
-
- '=======================================================================
- ' Description: Enables Full Row Select in a ListView
- '=======================================================================
- Public Function EnhListView_Add_FullRowSelect( _
- lstListViewName As ListView, _
- Optional bolShowErrors As Boolean) _
- As Boolean
-
- '________________________________________________________________________
- ' initiate error handler
- On Error GoTo err_EnhListView_Add_FullRowSelect
-
- '________________________________________________________________________
- ' set function return to true
- EnhListView_Add_FullRowSelect = True
-
- '________________________________________________________________________
- ' setup variables
- Dim rStyle As Long
- Dim r As Long
-
- '________________________________________________________________________
- ' get the current styles
- rStyle = SendMessageLong(lstListViewName.hwnd, LVM_GETEXTENDEDLISTVIEWSTYLE, 0&, 0&)
-
- '________________________________________________________________________
- ' add the selected style to the current styles
- rStyle = rStyle Or LVS_EX_FULLROWSELECT
-
- '________________________________________________________________________
- ' update the listview styles
- SendMessageLong lstListViewName.hwnd, LVM_SETEXTENDEDLISTVIEWSTYLE, 0&, rStyle
-
- '________________________________________________________________________
- ' exit before error handler
- Exit Function
-
- '________________________________________________________________________
- ' deal with errors
- err_EnhListView_Add_FullRowSelect:
-
- '________________________________________________________________________
- ' set function return to false
- EnhListView_Add_FullRowSelect = False
- '________________________________________________________________________
- ' if you want notification on an error
- If bolShowErrors = True Then
- MsgBox "Error" & Err.Number & vbTab & Err.Description, _
- vbOKOnly + vbInformation, _
- "Error in Function : EnhListView_Add_FullRowSelect"
- End If
-
- '________________________________________________________________________
- ' initiate debug
- Debug.Print Now & vbTab & "Error in function: EnhListView_Add_FullRowSelect" _
- & vbCrLf & _
- Err.Number & vbTab & Err.Description
- Debug.Assert False
-
- '________________________________________________________________________
- ' exit
- Exit Function
-
- End Function
- '=======================================================================
-
- '=======================================================================
- ' Description: Disables Full Row Select in a ListView
- '=======================================================================
- Public Function EnhListView_Rem_FullRowSelect( _
- lstListViewName As ListView, _
- Optional bolShowErrors As Boolean) _
- As Boolean
-
- '________________________________________________________________________
- ' initiate error handler
- On Error GoTo err_EnhListView_Rem_FullRowSelect
-
- '________________________________________________________________________
- ' set function return to true
- EnhListView_Rem_FullRowSelect = True
-
- '________________________________________________________________________
- ' setup variables
- Dim rStyle As Long
- Dim r As Long
-
- '________________________________________________________________________
- ' get the current styles
- rStyle = SendMessageLong(lstListViewName.hwnd, LVM_GETEXTENDEDLISTVIEWSTYLE, 0&, 0&)
-
- '________________________________________________________________________
- ' remove the selected style from the current styles
- rStyle = rStyle Xor LVS_EX_FULLROWSELECT
-
- '________________________________________________________________________
- ' update the listview styles
- SendMessageLong lstListViewName.hwnd, LVM_SETEXTENDEDLISTVIEWSTYLE, 0&, rStyle
-
- '________________________________________________________________________
- ' exit before error handler
- Exit Function
-
- '________________________________________________________________________
- ' deal with errors
- err_EnhListView_Rem_FullRowSelect:
-
- '________________________________________________________________________
- ' set function return to false
- EnhListView_Rem_FullRowSelect = False
- '________________________________________________________________________
- ' if you want notification on an error
- If bolShowErrors = True Then
- MsgBox "Error" & Err.Number & vbTab & Err.Description, _
- vbOKOnly + vbInformation, _
- "Error in Function : EnhListView_Rem_FullRowSelect"
- End If
-
- '________________________________________________________________________
- ' initiate debug
- Debug.Print Now & vbTab & "Error in function: EnhListView_Rem_FullRowSelect" _
- & vbCrLf & _
- Err.Number & vbTab & Err.Description
- Debug.Assert False
-
- '________________________________________________________________________
- ' exit
- Exit Function
-
- End Function
- '=======================================================================
-
- '=======================================================================
- ' Description: Enables GridLines in a ListView
- '=======================================================================
- Public Function EnhListView_Add_GridLines( _
- lstListViewName As ListView, _
- Optional bolShowErrors As Boolean) _
- As Boolean
-
- '________________________________________________________________________
- ' initiate error handler
- On Error GoTo err_EnhListView_Add_GridLines
-
- '________________________________________________________________________
- ' set function return to true
- EnhListView_Add_GridLines = True
-
- '________________________________________________________________________
- ' setup variables
- Dim rStyle As Long
- Dim r As Long
-
- '________________________________________________________________________
- ' get the current styles
- rStyle = SendMessageLong(lstListViewName.hwnd, LVM_GETEXTENDEDLISTVIEWSTYLE, 0&, 0&)
-
- '________________________________________________________________________
- ' add the selected style to the current styles
- rStyle = rStyle Or LVS_EX_GRIDLINES
-
- '________________________________________________________________________
- ' update the listview styles
- SendMessageLong lstListViewName.hwnd, LVM_SETEXTENDEDLISTVIEWSTYLE, 0&, rStyle
-
- '________________________________________________________________________
- ' exit before error handler
- Exit Function
-
- '________________________________________________________________________
- ' deal with errors
- err_EnhListView_Add_GridLines:
-
- '________________________________________________________________________
- ' set function return to false
- EnhListView_Add_GridLines = False
- '________________________________________________________________________
- ' if you want notification on an error
- If bolShowErrors = True Then
- MsgBox "Error" & Err.Number & vbTab & Err.Description, _
- vbOKOnly + vbInformation, _
- "Error in Function : EnhListView_Add_GridLines"
- End If
-
- '________________________________________________________________________
- ' initiate debug
- Debug.Print Now & vbTab & "Error in function: EnhListView_Add_GridLines" _
- & vbCrLf & _
- Err.Number & vbTab & Err.Description
- Debug.Assert False
-
- '________________________________________________________________________
- ' exit
- Exit Function
-
- End Function
- '=======================================================================
-
- '=======================================================================
- ' Description: Disables GridLines in a ListView
- '=======================================================================
- Public Function EnhListView_Rem_GridLines( _
- lstListViewName As ListView, _
- Optional bolShowErrors As Boolean) _
- As Boolean
-
- '________________________________________________________________________
- ' initiate error handler
- On Error GoTo err_EnhListView_Rem_GridLines
-
- '________________________________________________________________________
- ' set function return to true
- EnhListView_Rem_GridLines = True
-
- '________________________________________________________________________
- ' setup variables
- Dim rStyle As Long
- Dim r As Long
-
- '________________________________________________________________________
- ' get the current styles
- rStyle = SendMessageLong(lstListViewName.hwnd, LVM_GETEXTENDEDLISTVIEWSTYLE, 0&, 0&)
-
- '________________________________________________________________________
- ' remove the selected style from the current styles
- rStyle = rStyle Xor LVS_EX_GRIDLINES
-
- '________________________________________________________________________
- ' update the listview styles
- SendMessageLong lstListViewName.hwnd, LVM_SETEXTENDEDLISTVIEWSTYLE, 0&, rStyle
-
- '________________________________________________________________________
- ' exit before error handler
- Exit Function
-
- '________________________________________________________________________
- ' deal with errors
- err_EnhListView_Rem_GridLines:
-
- '________________________________________________________________________
- ' set function return to false
- EnhListView_Rem_GridLines = False
- '________________________________________________________________________
- ' if you want notification on an error
- If bolShowErrors = True Then
- MsgBox "Error" & Err.Number & vbTab & Err.Description, _
- vbOKOnly + vbInformation, _
- "Error in Function : EnhListView_Rem_GridLines"
- End If
-
- '________________________________________________________________________
- ' initiate debug
- Debug.Print Now & vbTab & "Error in function: EnhListView_Rem_GridLines" _
- & vbCrLf & _
- Err.Number & vbTab & Err.Description
- Debug.Assert False
-
- '________________________________________________________________________
- ' exit
- Exit Function
-
- End Function
- '=======================================================================
-
- '=======================================================================
- ' Description: Enables CheckBoxes in a ListView
- '=======================================================================
- Public Function EnhListView_Add_CheckBoxes( _
- lstListViewName As ListView, _
- Optional bolShowErrors As Boolean) _
- As Boolean
-
- '________________________________________________________________________
- ' initiate error handler
- On Error GoTo err_EnhListView_Add_CheckBoxes
-
- '________________________________________________________________________
- ' set function return to true
- EnhListView_Add_CheckBoxes = True
-
- '________________________________________________________________________
- ' setup variables
- Dim rStyle As Long
- Dim r As Long
-
- '________________________________________________________________________
- ' get the current styles
- rStyle = SendMessageLong(lstListViewName.hwnd, LVM_GETEXTENDEDLISTVIEWSTYLE, 0&, 0&)
-
- '________________________________________________________________________
- ' add the selected style to the current styles
- rStyle = rStyle Or LVS_EX_CHECKBOXES
-
- '________________________________________________________________________
- ' update the listview styles
- SendMessageLong lstListViewName.hwnd, LVM_SETEXTENDEDLISTVIEWSTYLE, 0&, rStyle
-
- '________________________________________________________________________
- ' exit before error handler
- Exit Function
-
- '________________________________________________________________________
- ' deal with errors
- err_EnhListView_Add_CheckBoxes:
-
- '________________________________________________________________________
- ' set function return to false
- EnhListView_Add_CheckBoxes = False
- '________________________________________________________________________
- ' if you want notification on an error
- If bolShowErrors = True Then
- MsgBox "Error" & Err.Number & vbTab & Err.Description, _
- vbOKOnly + vbInformation, _
- "Error in Function : EnhListView_Add_CheckBoxes"
- End If
-
- '________________________________________________________________________
- ' initiate debug
- Debug.Print Now & vbTab & "Error in function: EnhListView_Add_CheckBoxes" _
- & vbCrLf & _
- Err.Number & vbTab & Err.Description
- Debug.Assert False
-
- '________________________________________________________________________
- ' exit
- Exit Function
-
- End Function
- '=======================================================================
-
- '=======================================================================
- ' Description: Disables CheckBoxes in a ListView
- '=======================================================================
- Public Function EnhListView_Rem_CheckBoxes( _
- lstListViewName As ListView, _
- Optional bolShowErrors As Boolean) _
- As Boolean
-
- '________________________________________________________________________
- ' initiate error handler
- On Error GoTo err_EnhListView_Rem_CheckBoxes
-
- '________________________________________________________________________
- ' set function return to true
- EnhListView_Rem_CheckBoxes = True
-
- '________________________________________________________________________
- ' setup variables
- Dim rStyle As Long
- Dim r As Long
-
- '________________________________________________________________________
- ' get the current styles
- rStyle = SendMessageLong(lstListViewName.hwnd, LVM_GETEXTENDEDLISTVIEWSTYLE, 0&, 0&)
-
- '________________________________________________________________________
- ' add the selected style to the current styles
- rStyle = rStyle Xor LVS_EX_CHECKBOXES
-
- '________________________________________________________________________
- ' update the listview styles
- SendMessageLong lstListViewName.hwnd, LVM_SETEXTENDEDLISTVIEWSTYLE, 0&, rStyle
-
- '________________________________________________________________________
- ' exit before error handler
- Exit Function
-
- '________________________________________________________________________
- ' deal with errors
- err_EnhListView_Rem_CheckBoxes:
-
- '________________________________________________________________________
- ' set function return to false
- EnhListView_Rem_CheckBoxes = False
- '________________________________________________________________________
- ' if you want notification on an error
- If bolShowErrors = True Then
- MsgBox "Error" & Err.Number & vbTab & Err.Description, _
- vbOKOnly + vbInformation, _
- "Error in Function : EnhListView_Rem_CheckBoxes"
- End If
-
- '________________________________________________________________________
- ' initiate debug
- Debug.Print Now & vbTab & "Error in function: EnhListView_Rem_CheckBoxes" _
- & vbCrLf & _
- Err.Number & vbTab & Err.Description
- Debug.Assert False
-
- '________________________________________________________________________
- ' exit
- Exit Function
-
- End Function
- '=======================================================================
-
- '=======================================================================
- ' Description: Enables Repositioning of ColumnHeaders in a ListView
- '=======================================================================
- Public Function EnhListView_Add_AllowRepositioning( _
- lstListViewName As ListView, _
- Optional bolShowErrors As Boolean) _
- As Boolean
-
- '________________________________________________________________________
- ' initiate error handler
- On Error GoTo err_EnhListView_Add_AllowRepositioning
-
- '________________________________________________________________________
- ' set function return to true
- EnhListView_Add_AllowRepositioning = True
-
- '________________________________________________________________________
- ' setup variables
- Dim rStyle As Long
- Dim r As Long
-
- '________________________________________________________________________
- ' get the current styles
- rStyle = SendMessageLong(lstListViewName.hwnd, LVM_GETEXTENDEDLISTVIEWSTYLE, 0&, 0&)
-
- '________________________________________________________________________
- ' add the selected style to the current styles
- rStyle = rStyle Or LVS_EX_HEADERDRAGDROP
-
- '________________________________________________________________________
- ' update the listview styles
- SendMessageLong lstListViewName.hwnd, LVM_SETEXTENDEDLISTVIEWSTYLE, 0&, rStyle
-
- '________________________________________________________________________
- ' exit before error handler
- Exit Function
-
- '________________________________________________________________________
- ' deal with errors
- err_EnhListView_Add_AllowRepositioning:
-
- '________________________________________________________________________
- ' set function return to false
- EnhListView_Add_AllowRepositioning = False
- '________________________________________________________________________
- ' if you want notification on an error
- If bolShowErrors = True Then
- MsgBox "Error" & Err.Number & vbTab & Err.Description, _
- vbOKOnly + vbInformation, _
- "Error in Function : EnhListView_Add_AllowRepositioning"
- End If
-
- '________________________________________________________________________
- ' initiate debug
- Debug.Print Now & vbTab & "Error in function: EnhListView_Add_AllowRepositioning" _
- & vbCrLf & _
- Err.Number & vbTab & Err.Description
- Debug.Assert False
-
- '________________________________________________________________________
- ' exit
- Exit Function
-
- End Function
- '=======================================================================
-
- '=======================================================================
- ' Description: Disables Repositioning of ColumnHeaders in a ListView
- '=======================================================================
- Public Function EnhListView_Rem_AllowRepositioning( _
- lstListViewName As ListView, _
- Optional bolShowErrors As Boolean) _
- As Boolean
-
- '________________________________________________________________________
- ' initiate error handler
- On Error GoTo err_EnhListView_Rem_AllowRepositioning
-
- '________________________________________________________________________
- ' set function return to true
- EnhListView_Rem_AllowRepositioning = True
-
- '________________________________________________________________________
- ' setup variables
- Dim rStyle As Long
- Dim r As Long
-
- '________________________________________________________________________
- ' get the current styles
- rStyle = SendMessageLong(lstListViewName.hwnd, LVM_GETEXTENDEDLISTVIEWSTYLE, 0&, 0&)
-
- '________________________________________________________________________
- ' add the selected style to the current styles
- rStyle = rStyle Xor LVS_EX_HEADERDRAGDROP
-
- '________________________________________________________________________
- ' update the listview styles
- SendMessageLong lstListViewName.hwnd, LVM_SETEXTENDEDLISTVIEWSTYLE, 0&, rStyle
-
- '________________________________________________________________________
- ' exit before error handler
- Exit Function
-
- '________________________________________________________________________
- ' deal with errors
- err_EnhListView_Rem_AllowRepositioning:
-
- '________________________________________________________________________
- ' set function return to false
- EnhListView_Rem_AllowRepositioning = False
- '________________________________________________________________________
- ' if you want notification on an error
- If bolShowErrors = True Then
- MsgBox "Error" & Err.Number & vbTab & Err.Description, _
- vbOKOnly + vbInformation, _
- "Error in Function : EnhListView_Rem_AllowRepositioning"
- End If
-
- '________________________________________________________________________
- ' initiate debug
- Debug.Print Now & vbTab & "Error in function: EnhListView_Rem_AllowRepositioning" _
- & vbCrLf & _
- Err.Number & vbTab & Err.Description
- Debug.Assert False
-
- '________________________________________________________________________
- ' exit
- Exit Function
-
- End Function
- '=======================================================================
-
- '=======================================================================
- ' Description: Enables TrackSelected in a ListView
- '=======================================================================
- Public Function EnhListView_Add_TrackSelected( _
- lstListViewName As ListView, _
- Optional bolShowErrors As Boolean) _
- As Boolean
-
- '________________________________________________________________________
- ' initiate error handler
- On Error GoTo err_EnhListView_Add_TrackSelected
-
- '________________________________________________________________________
- ' set function return to true
- EnhListView_Add_TrackSelected = True
-
- '________________________________________________________________________
- ' setup variables
- Dim rStyle As Long
- Dim r As Long
-
- '________________________________________________________________________
- ' get the current styles
- rStyle = SendMessageLong(lstListViewName.hwnd, LVM_GETEXTENDEDLISTVIEWSTYLE, 0&, 0&)
-
- '________________________________________________________________________
- ' add the selected style to the current styles
- rStyle = rStyle Or LVS_EX_TRACKSELECT
-
- '________________________________________________________________________
- ' update the listview styles
- SendMessageLong lstListViewName.hwnd, LVM_SETEXTENDEDLISTVIEWSTYLE, 0&, rStyle
-
- '________________________________________________________________________
- ' exit before error handler
- Exit Function
-
- '________________________________________________________________________
- ' deal with errors
- err_EnhListView_Add_TrackSelected:
-
- '________________________________________________________________________
- ' set function return to false
- EnhListView_Add_TrackSelected = False
- '________________________________________________________________________
- ' if you want notification on an error
- If bolShowErrors = True Then
- MsgBox "Error" & Err.Number & vbTab & Err.Description, _
- vbOKOnly + vbInformation, _
- "Error in Function : EnhListView_Add_TrackSelected"
- End If
-
- '________________________________________________________________________
- ' initiate debug
- Debug.Print Now & vbTab & "Error in function: EnhListView_Add_TrackSelected" _
- & vbCrLf & _
- Err.Number & vbTab & Err.Description
- Debug.Assert False
-
- '________________________________________________________________________
- ' exit
- Exit Function
-
- End Function
- '=======================================================================
-
- '=======================================================================
- ' Description: Disables TrackSelected in a ListView
- '=======================================================================
- Public Function EnhListView_Rem_TrackSelected( _
- lstListViewName As ListView, _
- Optional bolShowErrors As Boolean) _
- As Boolean
-
- '________________________________________________________________________
- ' initiate error handler
- On Error GoTo err_EnhListView_Rem_TrackSelected
-
- '________________________________________________________________________
- ' set function return to true
- EnhListView_Rem_TrackSelected = True
-
- '________________________________________________________________________
- ' setup variables
- Dim rStyle As Long
- Dim r As Long
-
- '________________________________________________________________________
- ' get the current styles
- rStyle = SendMessageLong(lstListViewName.hwnd, LVM_GETEXTENDEDLISTVIEWSTYLE, 0&, 0&)
-
- '________________________________________________________________________
- ' add the selected style to the current styles
- rStyle = rStyle Xor LVS_EX_TRACKSELECT
-
- '________________________________________________________________________
- ' update the listview styles
- SendMessageLong lstListViewName.hwnd, LVM_SETEXTENDEDLISTVIEWSTYLE, 0&, rStyle
-
-
- '________________________________________________________________________
- ' exit before error handler
- Exit Function
-
- '________________________________________________________________________
- ' deal with errors
- err_EnhListView_Rem_TrackSelected:
-
- '________________________________________________________________________
- ' set function return to false
- EnhListView_Rem_TrackSelected = False
- '________________________________________________________________________
- ' if you want notification on an error
- If bolShowErrors = True Then
- MsgBox "Error" & Err.Number & vbTab & Err.Description, _
- vbOKOnly + vbInformation, _
- "Error in Function : EnhListView_Rem_TrackSelected"
- End If
-
- '________________________________________________________________________
- ' initiate debug
- Debug.Print Now & vbTab & "Error in function: EnhListView_Rem_TrackSelected" _
- & vbCrLf & _
- Err.Number & vbTab & Err.Description
- Debug.Assert False
-
- '________________________________________________________________________
- ' exit
- Exit Function
-
- End Function
- '=======================================================================
-
- '=======================================================================
- ' Description: Enables One Click Activate in a ListView
- '=======================================================================
- Public Function EnhListView_Add_OneClickActivate( _
- lstListViewName As ListView, _
- Optional bolShowErrors As Boolean) _
- As Boolean
-
- '________________________________________________________________________
- ' initiate error handler
- On Error GoTo err_EnhListView_Add_OneClickActivate
-
- '________________________________________________________________________
- ' set function return to true
- EnhListView_Add_OneClickActivate = True
-
- '________________________________________________________________________
- ' setup variables
- Dim rStyle As Long
- Dim r As Long
-
- '________________________________________________________________________
- ' get the current styles
- rStyle = SendMessageLong(lstListViewName.hwnd, LVM_GETEXTENDEDLISTVIEWSTYLE, 0&, 0&)
-
- '________________________________________________________________________
- ' add the selected style to the current styles
- rStyle = rStyle Or LVS_EX_ONECLICKACTIVATE
-
- '________________________________________________________________________
- ' update the listview styles
- SendMessageLong lstListViewName.hwnd, LVM_SETEXTENDEDLISTVIEWSTYLE, 0&, rStyle
-
- '________________________________________________________________________
- ' exit before error handler
- Exit Function
-
- '________________________________________________________________________
- ' deal with errors
- err_EnhListView_Add_OneClickActivate:
-
- '________________________________________________________________________
- ' set function return to false
- EnhListView_Add_OneClickActivate = False
- '________________________________________________________________________
- ' if you want notification on an error
- If bolShowErrors = True Then
- MsgBox "Error" & Err.Number & vbTab & Err.Description, _
- vbOKOnly + vbInformation, _
- "Error in Function : EnhListView_Add_OneClickActivate"
- End If
-
- '________________________________________________________________________
- ' initiate debug
- Debug.Print Now & vbTab & "Error in function: EnhListView_Add_OneClickActivate" _
- & vbCrLf & _
- Err.Number & vbTab & Err.Description
- Debug.Assert False
-
- '________________________________________________________________________
- ' exit
- Exit Function
-
- End Function
- '=======================================================================
-
- '=======================================================================
- ' Description: Disables One Click Activate in a ListView
- '=======================================================================
- Public Function EnhListView_Rem_OneClickActivate( _
- lstListViewName As ListView, _
- Optional bolShowErrors As Boolean) _
- As Boolean
-
- '________________________________________________________________________
- ' initiate error handler
- On Error GoTo err_EnhListView_Rem_OneClickActivate
-
- '________________________________________________________________________
- ' set function return to true
- EnhListView_Rem_OneClickActivate = True
-
- '________________________________________________________________________
- ' setup variables
- Dim rStyle As Long
- Dim r As Long
-
- '________________________________________________________________________
- ' get the current styles
- rStyle = SendMessageLong(lstListViewName.hwnd, LVM_GETEXTENDEDLISTVIEWSTYLE, 0&, 0&)
-
- '________________________________________________________________________
- ' add the selected style to the current styles
- rStyle = rStyle Xor LVS_EX_ONECLICKACTIVATE
-
- '________________________________________________________________________
- ' update the listview styles
- SendMessageLong lstListViewName.hwnd, LVM_SETEXTENDEDLISTVIEWSTYLE, 0&, rStyle
-
- '________________________________________________________________________
- ' exit before error handler
- Exit Function
-
- '________________________________________________________________________
- ' deal with errors
- err_EnhListView_Rem_OneClickActivate:
-
- '________________________________________________________________________
- ' set function return to false
- EnhListView_Rem_OneClickActivate = False
- '________________________________________________________________________
- ' if you want notification on an error
- If bolShowErrors = True Then
- MsgBox "Error" & Err.Number & vbTab & Err.Description, _
- vbOKOnly + vbInformation, _
- "Error in Function : EnhListView_Rem_OneClickActivate"
- End If
-
- '________________________________________________________________________
- ' initiate debug
- Debug.Print Now & vbTab & "Error in function: EnhListView_Rem_OneClickActivate" _
- & vbCrLf & _
- Err.Number & vbTab & Err.Description
- Debug.Assert False
-
- '________________________________________________________________________
- ' exit
- Exit Function
-
- End Function
- '=======================================================================
-
- '=======================================================================
- ' Description: Enables Two Click Activate in a ListView
- '=======================================================================
- Public Function EnhListView_Add_TwoClickActivate( _
- lstListViewName As ListView, _
- Optional bolShowErrors As Boolean) _
- As Boolean
-
- '________________________________________________________________________
- ' initiate error handler
- On Error GoTo err_EnhListView_Add_TwoClickActivate
-
- '________________________________________________________________________
- ' set function return to true
- EnhListView_Add_TwoClickActivate = True
-
- '________________________________________________________________________
- ' setup variables
- Dim rStyle As Long
- Dim r As Long
-
- '________________________________________________________________________
- ' get the current styles
- rStyle = SendMessageLong(lstListViewName.hwnd, LVM_GETEXTENDEDLISTVIEWSTYLE, 0&, 0&)
-
- '________________________________________________________________________
- ' add the selected style to the current styles
- rStyle = rStyle Or LVS_EX_TWOCLICKACTIVATE
-
- '________________________________________________________________________
- ' update the listview styles
- SendMessageLong lstListViewName.hwnd, LVM_SETEXTENDEDLISTVIEWSTYLE, 0&, rStyle
-
- '________________________________________________________________________
- ' exit before error handler
- Exit Function
-
- '________________________________________________________________________
- ' deal with errors
- err_EnhListView_Add_TwoClickActivate:
-
- '________________________________________________________________________
- ' set function return to false
- EnhListView_Add_TwoClickActivate = False
- '________________________________________________________________________
- ' if you want notification on an error
- If bolShowErrors = True Then
- MsgBox "Error" & Err.Number & vbTab & Err.Description, _
- vbOKOnly + vbInformation, _
- "Error in Function : EnhListView_Add_TwoClickActivate"
- End If
-
- '________________________________________________________________________
- ' initiate debug
- Debug.Print Now & vbTab & "Error in function: EnhListView_Add_TwoClickActivate" _
- & vbCrLf & _
- Err.Number & vbTab & Err.Description
- Debug.Assert False
-
- '________________________________________________________________________
- ' exit
- Exit Function
-
- End Function
- '=======================================================================
-
- '=======================================================================
- ' Description: Enables Full Row Select in a ListView
- '=======================================================================
- Public Function EnhListView_Rem_TwoClickActivate( _
- lstListViewName As ListView, _
- Optional bolShowErrors As Boolean) _
- As Boolean
-
- '________________________________________________________________________
- ' initiate error handler
- On Error GoTo err_EnhListView_Rem_TwoClickActivate
-
- '________________________________________________________________________
- ' set function return to true
- EnhListView_Rem_TwoClickActivate = True
-
- '________________________________________________________________________
- ' setup variables
- Dim rStyle As Long
- Dim r As Long
-
- '________________________________________________________________________
- ' get the current styles
- rStyle = SendMessageLong(lstListViewName.hwnd, LVM_GETEXTENDEDLISTVIEWSTYLE, 0&, 0&)
-
- '________________________________________________________________________
- ' add the selected style to the current styles
- rStyle = rStyle Xor LVS_EX_TWOCLICKACTIVATE
-
- '________________________________________________________________________
- ' update the listview styles
- SendMessageLong lstListViewName.hwnd, LVM_SETEXTENDEDLISTVIEWSTYLE, 0&, rStyle
-
- '________________________________________________________________________
- ' exit before error handler
- Exit Function
-
- '________________________________________________________________________
- ' deal with errors
- err_EnhListView_Rem_TwoClickActivate:
-
- '________________________________________________________________________
- ' set function return to false
- EnhListView_Rem_TwoClickActivate = False
- '________________________________________________________________________
- ' if you want notification on an error
- If bolShowErrors = True Then
- MsgBox "Error" & Err.Number & vbTab & Err.Description, _
- vbOKOnly + vbInformation, _
- "Error in Function : EnhListView_Rem_TwoClickActivate"
- End If
-
- '________________________________________________________________________
- ' initiate debug
- Debug.Print Now & vbTab & "Error in function: EnhListView_Rem_TwoClickActivate" _
- & vbCrLf & _
- Err.Number & vbTab & Err.Description
- Debug.Assert False
-
- '________________________________________________________________________
- ' exit
- Exit Function
-
- End Function
- '=======================================================================
-
- '=======================================================================
- ' Description: Enables SubItem Images in a ListView
- '=======================================================================
- Public Function EnhListView_Add_SubitemImages( _
- lstListViewName As ListView, _
- Optional bolShowErrors As Boolean) _
- As Boolean
-
- '________________________________________________________________________
- ' initiate error handler
- On Error GoTo err_EnhListView_Add_SubitemImages
-
- '________________________________________________________________________
- ' set function return to true
- EnhListView_Add_SubitemImages = True
-
- '________________________________________________________________________
- ' setup variables
- Dim rStyle As Long
- Dim r As Long
-
- '________________________________________________________________________
- ' get the current styles
- rStyle = SendMessageLong(lstListViewName.hwnd, LVM_GETEXTENDEDLISTVIEWSTYLE, 0&, 0&)
-
- '________________________________________________________________________
- ' add the selected style to the current styles
- rStyle = rStyle Or LVS_EX_SUBITEMIMAGES
-
- '________________________________________________________________________
- ' update the listview styles
- SendMessageLong lstListViewName.hwnd, LVM_SETEXTENDEDLISTVIEWSTYLE, 0&, rStyle
-
- '________________________________________________________________________
- ' exit before error handler
- Exit Function
-
- '________________________________________________________________________
- ' deal with errors
- err_EnhListView_Add_SubitemImages:
-
- '________________________________________________________________________
- ' set function return to false
- EnhListView_Add_SubitemImages = False
- '________________________________________________________________________
- ' if you want notification on an error
- If bolShowErrors = True Then
- MsgBox "Error" & Err.Number & vbTab & Err.Description, _
- vbOKOnly + vbInformation, _
- "Error in Function : EnhListView_Add_SubitemImages"
- End If
-
- '________________________________________________________________________
- ' initiate debug
- Debug.Print Now & vbTab & "Error in function: EnhListView_Add_SubitemImages" _
- & vbCrLf & _
- Err.Number & vbTab & Err.Description
- Debug.Assert False
-
- '________________________________________________________________________
- ' exit
- Exit Function
-
- End Function
- '=======================================================================
-
- '=======================================================================
- ' Description: Disables SubItem Images in a ListView
- '=======================================================================
- Public Function EnhListView_Rem_SubitemImages( _
- lstListViewName As ListView, _
- Optional bolShowErrors As Boolean) _
- As Boolean
-
- '________________________________________________________________________
- ' initiate error handler
- On Error GoTo err_EnhListView_Rem_SubitemImages
-
- '________________________________________________________________________
- ' set function return to true
- EnhListView_Rem_SubitemImages = True
-
- '________________________________________________________________________
- ' setup variables
- Dim rStyle As Long
- Dim r As Long
-
- '________________________________________________________________________
- ' get the current styles
- rStyle = SendMessageLong(lstListViewName.hwnd, LVM_GETEXTENDEDLISTVIEWSTYLE, 0&, 0&)
-
- '________________________________________________________________________
- ' remove the selected style from the current styles
- rStyle = rStyle Xor LVS_EX_SUBITEMIMAGES
-
- '________________________________________________________________________
- ' update the listview styles
- SendMessageLong lstListViewName.hwnd, LVM_SETEXTENDEDLISTVIEWSTYLE, 0&, rStyle
-
- '________________________________________________________________________
- ' exit before error handler
- Exit Function
-
- '________________________________________________________________________
- ' deal with errors
- err_EnhListView_Rem_SubitemImages:
-
- '________________________________________________________________________
- ' set function return to false
- EnhListView_Rem_SubitemImages = False
- '________________________________________________________________________
- ' if you want notification on an error
- If bolShowErrors = True Then
- MsgBox "Error" & Err.Number & vbTab & Err.Description, _
- vbOKOnly + vbInformation, _
- "Error in Function : EnhListView_Rem_SubitemImages"
- End If
-
- '________________________________________________________________________
- ' initiate debug
- Debug.Print Now & vbTab & "Error in function: EnhListView_Rem_SubitemImages" _
- & vbCrLf & _
- Err.Number & vbTab & Err.Description
- Debug.Assert False
-
- '________________________________________________________________________
- ' exit
- Exit Function
-
- End Function
- '=======================================================================
-
- '=======================================================================
- ' Description: Checks all Items in the ListView
- '=======================================================================
- Public Function EnhLitView_CheckAllItems( _
- lstListViewName As ListView, _
- Optional bolShowErrors As Boolean) _
- As Boolean
-
- '________________________________________________________________________
- ' initiate error handler
- On Error GoTo err_EnhLitView_CheckAllItems
-
- '________________________________________________________________________
- ' set function return to true
- EnhLitView_CheckAllItems = True
-
- '________________________________________________________________________
- ' setup variables
- Dim LV As LVITEM
- Dim lvCount As Long
- Dim lvIndex As Long
- Dim lvState As Long
- Dim r As Long
-
- '________________________________________________________________________
- lvState = IIf(True, &H2000, &H1000)
- lvCount = lstListViewName.ListItems.Count - 1
- Do
- With LV
- .mask = LVIF_STATE
- .state = lvState
- .stateMask = LVIS_STATEIMAGEMASK
- End With
- r = SendMessageAny(lstListViewName.hwnd, LVM_SETITEMSTATE, lvIndex, LV)
- lvIndex = lvIndex + 1
- Loop Until lvIndex > lvCount
-
- '________________________________________________________________________
- ' exit before error handler
- Exit Function
-
- '________________________________________________________________________
- ' deal with errors
- err_EnhLitView_CheckAllItems:
-
- '________________________________________________________________________
- ' set function return to false
- EnhLitView_CheckAllItems = False
- '________________________________________________________________________
- ' if you want notification on an error
- If bolShowErrors = True Then
- MsgBox "Error" & Err.Number & vbTab & Err.Description, _
- vbOKOnly + vbInformation, _
- "Error in Function : EnhLitView_CheckAllItems"
- End If
-
- '________________________________________________________________________
- ' initiate debug
- Debug.Print Now & vbTab & "Error in function: EnhLitView_CheckAllItems" _
- & vbCrLf & _
- Err.Number & vbTab & Err.Description
- Debug.Assert False
-
- '________________________________________________________________________
- ' exit
- Exit Function
-
- End Function
- '=======================================================================
-
- '=======================================================================
- ' Description: Unchecks all items in a ListView
- '=======================================================================
- Public Function EnhLitView_UnCheckAllItems( _
- lstListViewName As ListView, _
- Optional bolShowErrors As Boolean) _
- As Boolean
-
- '________________________________________________________________________
- ' initiate error handler
- On Error GoTo err_EnhLitView_UnCheckAllItems
-
- '________________________________________________________________________
- ' set function return to true
- EnhLitView_UnCheckAllItems = True
-
- '________________________________________________________________________
- ' setup variables
- Dim LV As LVITEM
- Dim lvCount As Long
- Dim lvIndex As Long
- Dim lvState As Long
- Dim r As Long
-
- '________________________________________________________________________
- lvState = IIf(True, &H2000, &H1000)
- lvCount = lstListViewName.ListItems.Count - 1
- Do
- With LV
- .mask = LVIF_STATE
- .state = lvState
- .stateMask = LVIS_STATEIMAGEMASK
- End With
- r = SendMessageAny(lstListViewName.hwnd, LVM_SETITEMSTATE, lvIndex, LV)
- lvIndex = lvIndex + 1
- Loop Until lvIndex > lvCount
-
- '________________________________________________________________________
- ' exit before error handler
- Exit Function
-
- '________________________________________________________________________
- ' deal with errors
- err_EnhLitView_UnCheckAllItems:
-
- '________________________________________________________________________
- ' set function return to false
- EnhLitView_UnCheckAllItems = False
- '________________________________________________________________________
- ' if you want notification on an error
- If bolShowErrors = True Then
- MsgBox "Error" & Err.Number & vbTab & Err.Description, _
- vbOKOnly + vbInformation, _
- "Error in Function : EnhLitView_UnCheckAllItems"
- End If
-
- '________________________________________________________________________
- ' initiate debug
- Debug.Print Now & vbTab & "Error in function: EnhLitView_UnCheckAllItems" _
- & vbCrLf & _
- Err.Number & vbTab & Err.Description
- Debug.Assert False
-
- '________________________________________________________________________
- ' exit
- Exit Function
-
- End Function
- '=======================================================================
-
-
- '=======================================================================
- ' Description: Inverts all checked items in a ListView
- '=======================================================================
- Public Function EnhListView_InvertAllChecks( _
- lstListViewName As ListView, _
- Optional bolShowErrors As Boolean) _
- As Boolean
-
- '________________________________________________________________________
- ' initiate error handler
- On Error GoTo err_EnhListView_InvertAllChecks
-
- '________________________________________________________________________
- ' set function return to true
- EnhListView_InvertAllChecks = True
-
- '________________________________________________________________________
- ' setup variables
- Dim LV As LVITEM
- Dim r As Long
- Dim lvCount As Long
- Dim lvIndex As Long
-
- '________________________________________________________________________
- lvCount = lstListViewName.ListItems.Count - 1
- Do
- r = SendMessageLong(lstListViewName.hwnd, LVM_GETITEMSTATE, lvIndex, LVIS_STATEIMAGEMASK)
- With LV
- .mask = LVIF_STATE
- .stateMask = LVIS_STATEIMAGEMASK
- If r And &H2000& Then
- .state = &H1000
- Else
- .state = &H2000
- End If
- End With
- r = SendMessageAny(lstListViewName.hwnd, LVM_SETITEMSTATE, lvIndex, LV)
- lvIndex = lvIndex + 1
- Loop Until lvIndex > lvCount
-
- '________________________________________________________________________
- ' exit before error handler
- Exit Function
-
- '________________________________________________________________________
- ' deal with errors
- err_EnhListView_InvertAllChecks:
-
- '________________________________________________________________________
- ' set function return to false
- EnhListView_InvertAllChecks = False
- '________________________________________________________________________
- ' if you want notification on an error
- If bolShowErrors = True Then
- MsgBox "Error" & Err.Number & vbTab & Err.Description, _
- vbOKOnly + vbInformation, _
- "Error in Function : EnhListView_InvertAllChecks"
- End If
-
- '________________________________________________________________________
- ' initiate debug
- Debug.Print Now & vbTab & "Error in function: EnhListView_InvertAllChecks" _
- & vbCrLf & _
- Err.Number & vbTab & Err.Description
- Debug.Assert False
-
- '________________________________________________________________________
- ' exit
- Exit Function
-
- End Function
- '=======================================================================
-
- '=======================================================================
- ' Description: Toggles FlatColumnHeaders in a ListView
- '=======================================================================
- Public Function EnhListView_Toggle_FlatColumnHeaders( _
- frmFormName As Form, _
- lstListViewName As ListView, _
- Optional bolShowErrors As Boolean) _
- As Boolean
-
- '________________________________________________________________________
- ' initiate error handler
- On Error GoTo err_EnhListView_Toggle_FlatColumnHeaders
-
- '________________________________________________________________________
- ' set function return to true
- EnhListView_Toggle_FlatColumnHeaders = True
-
- '________________________________________________________________________
- SetWindowLong SendMessageLong(lstListViewName.hwnd, _
- LVM_GETHEADER, _
- 0, _
- ByVal 0&), _
- GWL_STYLE, _
- GetWindowLong(SendMessageLong(lstListViewName.hwnd, _
- LVM_GETHEADER, _
- 0, _
- ByVal _
- 0&), _
- GWL_STYLE) _
- Xor HDS_BUTTONS
- SetWindowPos lstListViewName.hwnd, _
- frmFormName.hwnd, _
- 0, _
- 0, _
- 0, _
- 0, _
- SWP_FLAGS
-
- '________________________________________________________________________
- ' exit before error handler
- Exit Function
-
- '________________________________________________________________________
- ' deal with errors
- err_EnhListView_Toggle_FlatColumnHeaders:
-
- '________________________________________________________________________
- ' set function return to false
- EnhListView_Toggle_FlatColumnHeaders = False
- '________________________________________________________________________
- ' if you want notification on an error
- If bolShowErrors = True Then
- MsgBox "Error" & Err.Number & vbTab & Err.Description, _
- vbOKOnly + vbInformation, _
- "Error in Function : EnhListView_Toggle_FlatColumnHeaders"
- End If
-
- '________________________________________________________________________
- ' initiate debug
- Debug.Print Now & vbTab & "Error in function: EnhListView_Toggle_FlatColumnHeaders" _
- & vbCrLf & _
- Err.Number & vbTab & Err.Description
- Debug.Assert False
-
- '________________________________________________________________________
- ' exit
- Exit Function
-
- End Function
- '=======================================================================
-