下面是combo的Private Declare Function SendMessagebyString Lib _
"user32" Alias "SendMessageA" (ByVal hWND As Long, _
ByVal wMsg As Long, ByVal wParam As Long, _
ByVal lParam As String) As Long Private Const LB_FINDSTRINGEXACT = &H1A2 '在 ListBox 中精确查找
Private Const CB_FINDSTRINGEXACT = &H158 '在 ComboBox 中精确查找
Private Const LB_FINDSTRING = &H18F '在 ListBox 中模糊查找
Private Const CB_FINDSTRING = &H14C '在 ComboBox 中模糊查找 Private Sub Command1_Click()
If SendMessagebyString(Combo1.hWnd, CB_FINDSTRINGEXACT, -1, Combo1.Text) > -1 Then
MsgBox "已经存在"
Else
MsgBox "不存在"
End If End Sub 如果 是list怎么判断是否存在?
"user32" Alias "SendMessageA" (ByVal hWND As Long, _
ByVal wMsg As Long, ByVal wParam As Long, _
ByVal lParam As String) As Long Private Const LB_FINDSTRINGEXACT = &H1A2 '在 ListBox 中精确查找
Private Const CB_FINDSTRINGEXACT = &H158 '在 ComboBox 中精确查找
Private Const LB_FINDSTRING = &H18F '在 ListBox 中模糊查找
Private Const CB_FINDSTRING = &H14C '在 ComboBox 中模糊查找 Private Sub Command1_Click()
If SendMessagebyString(Combo1.hWnd, CB_FINDSTRINGEXACT, -1, Combo1.Text) > -1 Then
MsgBox "已经存在"
Else
MsgBox "不存在"
End If End Sub 如果 是list怎么判断是否存在?
是default,就是没发现,因为有的话,就是index(0开始)
xxx是你要找的东西
Private Declare Function SendMessageByString& Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String)Private Sub Command2_Click() Dim i&
'XXX 是要找的文本,全字匹配(字母不区分大小写)
i = SendMessageByString(List1.hwnd, &H1A2, 0, "XXX")
If (i >= 0) Then
List1.ListIndex = i '选定找到的项目
Else
MsgBox "没有找到该项目!" & i, 64
End IfEnd Sub
应为:MsgBox "没有找到该项目!", 64测试后忘记了删除 & i