list控件中用Scroll选择列表框选项,程序没反映,必须再点击list中的内容程序才执行!请问有什么办法让scroll选择列表框其中内容后,程序能立即执行?请赐教!Private Sub list1_Scroll()
Call Fill_Click
End Sub
Private Sub Form_Load()
' 初始话列表框选项
list1.AddItem "0 实线"
list1.AddItem "1 透明"
list1.AddItem "2 水平直线"
list1.AddItem "3 垂直直线"
list1.AddItem "4 上斜对角线"
list1.AddItem "5 下斜对角线"
list1.AddItem "6 十字线"
list1.AddItem "7 交叉对角线"
End Sub
Private Sub list1_Click()
If Fill.ListIndex <> "-1" Then
' 设置填充方式
Shape1.FillStyle = Fill.ListIndex
End If
End Sub
Call Fill_Click
End Sub
Private Sub Form_Load()
' 初始话列表框选项
list1.AddItem "0 实线"
list1.AddItem "1 透明"
list1.AddItem "2 水平直线"
list1.AddItem "3 垂直直线"
list1.AddItem "4 上斜对角线"
list1.AddItem "5 下斜对角线"
list1.AddItem "6 十字线"
list1.AddItem "7 交叉对角线"
End Sub
Private Sub list1_Click()
If Fill.ListIndex <> "-1" Then
' 设置填充方式
Shape1.FillStyle = Fill.ListIndex
End If
End Sub
为什么要用Scroll???搞不懂。
Private Sub list1_Scroll()
Call list1_Click
End Sub
Private Sub Form_Load()
' 初始话列表框选项
list1.AddItem "0 实线"
list1.AddItem "1 透明"
list1.AddItem "2 水平直线"
list1.AddItem "3 垂直直线"
list1.AddItem "4 上斜对角线"
list1.AddItem "5 下斜对角线"
list1.AddItem "6 十字线"
list1.AddItem "7 交叉对角线"
End Sub
Private Sub list1_Click()
If list1.ListIndex <> "-1" Then
' 设置填充方式
Shape1.FillStyle = list1.ListIndex
End If
End Sub
' 初始话列表框选项
Combo1.AddItem "0 实线"
Combo1.AddItem "1 透明"
Combo1.AddItem "2 水平直线"
Combo1.AddItem "3 垂直直线"
Combo1.AddItem "4 上斜对角线"
Combo1.AddItem "5 下斜对角线"
Combo1.AddItem "6 十字线"
Combo1.AddItem "7 交叉对角线"
Combo1.ListIndex = 0
End Sub
Private Sub Combo1_Click()
If Combo1.ListIndex <> "-1" Then
' 设置填充方式
Shape1.FillStyle = Combo1.ListIndex
End If
End Sub
SendMessage可获取该条目的Index,然后将该值赋予Listindex属性,自动触发
CLICK事件
你把list改为combobox控件相信可以很好的解决你的问题。
Private Const LB_GETTOPINDEX = &H18EPublic Function GetIndex() As Long
GetIndex = SendMessageA(List1.hwnd, LB_GETTOPINDEX, 0, 0)
End Function调用此函数返回Index
Dim nIndex as Long
nIndex=GetIndex '我给你的函数
If nIndex<0 then
MessageBox "获取索引失败"
Exit Sub
end if
If nIndex<>List1.ListIndex then '如果获取的第一个条目与当前选定的不同才处理
List1.ListIndex=nIndex
end if
End Sub