'listview insert
'   在列表视图中的特定位置插入一个项。
'   hWndControl:    控件的句柄 (例如  HWND_FORM1_LISTVIEW1)   
'   iRow:           要插入到此项，从零开始的行。
'   iColumn:        要插入到此项，从零开始的列。
'   TheText:        表示要显示的文本的字符串。  
'   lParam:         与该项存储 32 位值。（可选）
'   iImage:         到 TreeView 的 imagelist 图像显示的项的索引。（可选）
'   Returns:        如果在第 0 列添加项目后函数将返回新的项的索引。
'                   如果插入到 0列以外则该函数返回（如果成功%TRUE 否则 %FALSE）
Function FF_ListView_InsertItem(ByVal hWndControl as HWnd, ByVal iRow as Long, ByVal iColumn as Long, ByRef TheText as CWSTR , ByVal lParam as Long = 0, ByVal iImage as Long = 0) as Integer
   
   Dim tlv_item as LV_ITEMW
   
   '检查窗口句柄是否有效
   If IsWindow(hWndControl) Then
      tlv_item.iItem = iRow
      tlv_item.iSubItem = iColumn
      tlv_item.pszText = Cast(LPWSTR,TheText.vptr )
      tlv_item.iImage = iImage
      tlv_item.lParam = lParam
      
      If iColumn = 0 Then
         tlv_item.mask = LVIF_TEXT Or LVIF_PARAM Or LVIF_IMAGE
         Function = SendMessageW(hWndControl, LVM_INSERTITEMW, 0, Cast(LPARAM, VarPtr(tlv_item)))
      Else
         tlv_item.mask = LVIF_TEXT Or LVIF_IMAGE
         Function = SendMessageW(hWndControl, LVM_SETITEMW, 0, Cast(LPARAM, VarPtr(tlv_item)))
      End If
   End If
   
   
End Function

