Public Function ListView_SetItemState(hwndLV As Long, i As Long, state As LVITEM_state, mask As LVITEM_state) As Boolean
Dim lvi As LVITEM
lvi.state = LVIS_SELECTED
lvi.stateMask = mask
ListView_SetItemState = SendMessage(hwndLV, LVM_SETITEMSTATE, ByVal 3, lvi)
End Function把里面的常数值 和 自定义变量 提供一下
谢谢
Dim lvi As LVITEM
lvi.state = LVIS_SELECTED
lvi.stateMask = mask
ListView_SetItemState = SendMessage(hwndLV, LVM_SETITEMSTATE, ByVal 3, lvi)
End Function把里面的常数值 和 自定义变量 提供一下
谢谢
也可下载http://www.mvps.org/btmtz/enumdeskvb/edeskvb2.zip看看Private Const LVM_FIRST = &H1000
Private Const LVM_SETITEMSTATE = (LVM_FIRST + 43)Private Enum LVITEM_mask
LVIF_TEXT = &H1
LVIF_IMAGE = &H2
LVIF_PARAM = &H4
LVIF_STATE = &H8 LVIF_INDENT = &H10
LVIF_NORECOMPUTE = &H800 LVIF_DI_SETITEM = &H1000
End Enum
Private Type LVITEM
mask As LVITEM_mask
iItem As Long
iSubItem As Long
state As LVITEM_state
stateMask As Long
pszText As Long
cchTextMax As Long
iImage As Long
lParam As Long
iIndent As LongEnd Type
Private Enum LVITEM_state
LVIS_FOCUSED = &H1
LVIS_SELECTED = &H2
LVIS_CUT = &H4
LVIS_DROPHILITED = &H8
LVIS_ACTIVATING = &H20
LVIS_OVERLAYMASK = &HF00
LVIS_STATEIMAGEMASK = &HF000
End EnumPrivate Enum LVMessages
LVM_FIRST = &H1000 LVM_GETBKCOLOR = (LVM_FIRST + 0)
LVM_SETBKCOLOR = (LVM_FIRST + 1)
LVM_GETIMAGELIST = (LVM_FIRST + 2)
LVM_SETIMAGELIST = (LVM_FIRST + 3)
LVM_GETITEMCOUNT = (LVM_FIRST + 4)
#If UNICODE Then
LVM_GETITEM = (LVM_FIRST + 75)
LVM_SETITEM = (LVM_FIRST + 76)
LVM_INSERTITEM = (LVM_FIRST + 77)
#Else
LVM_GETITEM = (LVM_FIRST + 5)
LVM_SETITEM = (LVM_FIRST + 6)
LVM_INSERTITEM = (LVM_FIRST + 7)
#End If
LVM_DELETEITEM = (LVM_FIRST + 8)
LVM_DELETEALLITEMS = (LVM_FIRST + 9) LVM_GETCALLBACKMASK = (LVM_FIRST + 10)
LVM_SETCALLBACKMASK = (LVM_FIRST + 11)
LVM_GETNEXTITEM = (LVM_FIRST + 12)
#If UNICODE Then
LVM_FINDITEM = (LVM_FIRST + 83)
#Else
LVM_FINDITEM = (LVM_FIRST + 13)
#End If
LVM_GETITEMRECT = (LVM_FIRST + 14)
LVM_SETITEMPOSITION = (LVM_FIRST + 15)
LVM_GETITEMPOSITION = (LVM_FIRST + 16)
#If UNICODE Then
LVM_GETSTRINGWIDTH = (LVM_FIRST + 87)
#Else
LVM_GETSTRINGWIDTH = (LVM_FIRST + 17)
#End If
LVM_HITTEST = (LVM_FIRST + 18)
LVM_ENSUREVISIBLE = (LVM_FIRST + 19)
LVM_SCROLL = (LVM_FIRST + 20)
LVM_REDRAWITEMS = (LVM_FIRST + 21)
LVM_ARRANGE = (LVM_FIRST + 22)
#If UNICODE Then
LVM_EDITLABEL = (LVM_FIRST + 118)
#Else
LVM_EDITLABEL = (LVM_FIRST + 23)
#End If
LVM_GETEDITCONTROL = (LVM_FIRST + 24)
#If UNICODE Then
LVM_GETCOLUMN = (LVM_FIRST + 95)
LVM_SETCOLUMN = (LVM_FIRST + 96)
LVM_INSERTCOLUMN = (LVM_FIRST + 97)
#Else
LVM_GETCOLUMN = (LVM_FIRST + 25)
LVM_SETCOLUMN = (LVM_FIRST + 26)
LVM_INSERTCOLUMN = (LVM_FIRST + 27)
#End If
LVM_DELETECOLUMN = (LVM_FIRST + 28)
LVM_GETCOLUMNWIDTH = (LVM_FIRST + 29)
LVM_SETCOLUMNWIDTH = (LVM_FIRST + 30)
LVM_GETHEADER = (LVM_FIRST + 31)
LVM_CREATEDRAGIMAGE = (LVM_FIRST + 33)
LVM_GETVIEWRECT = (LVM_FIRST + 34)
LVM_GETTEXTCOLOR = (LVM_FIRST + 35)
LVM_SETTEXTCOLOR = (LVM_FIRST + 36)
LVM_GETTEXTBKCOLOR = (LVM_FIRST + 37)
LVM_SETTEXTBKCOLOR = (LVM_FIRST + 38)
LVM_GETTOPINDEX = (LVM_FIRST + 39)
LVM_GETCOUNTPERPAGE = (LVM_FIRST + 40)
LVM_GETORIGIN = (LVM_FIRST + 41)
LVM_UPDATE = (LVM_FIRST + 42)
LVM_SETITEMSTATE = (LVM_FIRST + 43)
LVM_GETITEMSTATE = (LVM_FIRST + 44)
#If UNICODE Then
LVM_GETITEMTEXT = (LVM_FIRST + 115)
LVM_SETITEMTEXT = (LVM_FIRST + 116)
#Else
LVM_GETITEMTEXT = (LVM_FIRST + 45)
LVM_SETITEMTEXT = (LVM_FIRST + 46)
#End If
LVM_SETITEMCOUNT = (LVM_FIRST + 47)
LVM_SORTITEMS = (LVM_FIRST + 48)
LVM_SETITEMPOSITION32 = (LVM_FIRST + 49)
LVM_GETSELECTEDCOUNT = (LVM_FIRST + 50)
LVM_GETITEMSPACING = (LVM_FIRST + 51)
#If UNICODE Then
LVM_GETISEARCHSTRING = (LVM_FIRST + 117)
#Else
LVM_GETISEARCHSTRING = (LVM_FIRST + 52)
#End If
LVM_SETICONSPACING = (LVM_FIRST + 53)
LVM_SETEXTENDEDLISTVIEWSTYLE = (LVM_FIRST + 54)
LVM_GETEXTENDEDLISTVIEWSTYLE = (LVM_FIRST + 55)
LVM_GETSUBITEMRECT = (LVM_FIRST + 56)
LVM_SUBITEMHITTEST = (LVM_FIRST + 57)
LVM_SETCOLUMNORDERARRAY = (LVM_FIRST + 58)
LVM_GETCOLUMNORDERARRAY = (LVM_FIRST + 59)
LVM_SETHOTITEM = (LVM_FIRST + 60)
LVM_GETHOTITEM = (LVM_FIRST + 61)
LVM_SETHOTCURSOR = (LVM_FIRST + 62)
LVM_GETHOTCURSOR = (LVM_FIRST + 63)
LVM_APPROXIMATEVIEWRECT = (LVM_FIRST + 64) LVM_SETWORKAREAS = (LVM_FIRST + 65)
LVM_GETWORKAREAS = (LVM_FIRST + 70)
LVM_GETNUMBEROFWORKAREAS = (LVM_FIRST + 73)
LVM_GETSELECTIONMARK = (LVM_FIRST + 66)
LVM_SETSELECTIONMARK = (LVM_FIRST + 67)
LVM_SETHOVERTIME = (LVM_FIRST + 71)
LVM_GETHOVERTIME = (LVM_FIRST + 72)
LVM_SETTOOLTIPS = (LVM_FIRST + 74)
LVM_GETTOOLTIPS = (LVM_FIRST + 78)#If UNICODE Then
LVM_SETBKIMAGE = (LVM_FIRST + 138)
LVM_GETBKIMAGE = (LVM_FIRST + 139)
#Else
LVM_SETBKIMAGE = (LVM_FIRST + 68)
LVM_GETBKIMAGE = (LVM_FIRST + 69)
#End If
LVM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT
LVM_GETUNICODEFORMAT = CCM_GETUNICODEFORMATEnd Enum
虽然用这个函数 可以选中某个item
但是 我 Print ListView1.SelectedItem.Key
以后发现 这个key 的值都不变的 这是为什么
ListView_SetItemState ListView1.hwnd, Val(Text1.Text), LVIS_SELECTED, LVIS_SELECTED
ListView1.SetFocus
End Sub
-----------------------------------------------------------------------------
Function ListView_SetItemState(hwndLV As Long, i As Long, state As LVITEM_state, mask As LVITEM_state) As Boolean
Dim lvi As LVITEM
lvi.state = LVIS_SELECTED
lvi.stateMask = mask
ListView_SetItemState = SendMessage(hwndLV, LVM_SETITEMSTATE, ByVal i, lvi)
End Function