请问一个api函数怎么理解,多谢
请教一个api函数如何理解,谢谢.
以下是窗工程的全部代码,只有一个窗体,在窗体加一个列表框就行.
Option Explicit
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
Private Const LB_SETHORIZONTALEXTENT = &H194
Private Sub setListWidth()
'如果列表框不够宽,则增加水平滚动条
Dim i As Integer
Dim List_MaxL As Integer
' 获得选项内容的最大长度
For i = 0 To demo_lbox.ListCount - 1
'让list_maxl中保存最长的一条字串
If Len(demo_lbox.List(i)) > List_MaxL Then
List_MaxL = Len(demo_lbox.List(i)) + 2
End If
Next i
' 判断是否内容显示不完全,如果是则添加水平滚动条
If Me.TextWidth( "AA ") * List_MaxL > demo_lbox.Width Then
SendMessage demo_lbox.hwnd, LB_SETHORIZONTALEXTENT, Me.TextWidth( "AA ") * List_MaxL, ByVal 0&
End If
以下是窗工程的全部代码,只有一个窗体,在窗体加一个列表框就行.
Option Explicit
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
Private Const LB_SETHORIZONTALEXTENT = &H194
Private Sub setListWidth()
'如果列表框不够宽,则增加水平滚动条
Dim i As Integer
Dim List_MaxL As Integer
' 获得选项内容的最大长度
For i = 0 To demo_lbox.ListCount - 1
'让list_maxl中保存最长的一条字串
If Len(demo_lbox.List(i)) > List_MaxL Then
List_MaxL = Len(demo_lbox.List(i)) + 2
End If
Next i
' 判断是否内容显示不完全,如果是则添加水平滚动条
If Me.TextWidth( "AA ") * List_MaxL > demo_lbox.Width Then
SendMessage demo_lbox.hwnd, LB_SETHORIZONTALEXTENT, Me.TextWidth( "AA ") * List_MaxL, ByVal 0&
End If