66.txt

来自「VB文章集(含API、窗口、数据库、多媒体、系统、文件、等等)」· 文本 代码 · 共 52 行

TXT
52
字号
改变 ListIndex而不发生 Click 事件   
    在修改 Combo 或 Listview 的ListIndex 时, 会发生 Click 事件, 下面的函数可以阻止该事件。

    声明:

Private Declare Function SendMessage Lib _

"user32" Alias "SendMessageA" (ByVal _

hWnd As Long, ByVal wMsg As Long, ByVal _

wParam As Long, lParam As Any) As Long

Const CB_GETCURSEL = &H147

Const CB_SETCURSEL = &H14E

Const LB_SETCURSEL = &H186

Const LB_GETCURSEL = &H188

    函数:

Public Function SetListIndex(lst As Control, _

ByVal NewIndex As Long) As Long

 

If TypeOf lst Is ListBox Then

Call SendMessage(lst.hWnd, _

LB_SETCURSEL, NewIndex, 0&)

SetListIndex = SendMessage(lst.hWnd, _

LB_GETCURSEL, NewIndex, 0&)

ElseIf TypeOf lst Is ComboBox Then

Call SendMessage(lst.hWnd, _

CB_SETCURSEL, NewIndex, 0&)

SetListIndex = SendMessage(lst.hWnd, _

CB_GETCURSEL, NewIndex, 0&)

End If

End Function 

⌨️ 快捷键说明

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