龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VB开发 >

在ListBox适当设定水平滚动条的宽度

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
Option Explicit Private Const LB_SETHORIZONTALEXTENT = H194 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 Sub Command1_Cl

Option Explicit
Private Const LB_SETHORIZONTALEXTENT = &H194
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 Sub Command1_Click()
Dim max As Long, f As Font, i As Integer

Me.ScaleMode = vbPixels
Set f = Me.Font
Set Me.Font = List1.Font

With List1
For i = 0 To .ListCount
If Me.TextWidth(.List(i)) > max Then
max = Me.TextWidth(.List(i))
End If
Next
End With
max = max + 10

Set Me.Font = f

SendMessage List1.hwnd, LB_SETHORIZONTALEXTENT, max, ByVal 0&
End Sub

Private Sub Form_Load()
List1.AddItem "VB编程乐园"
List1.AddItem "http://www.vbeden.com"
List1.AddItem "这是一个特别特别长的选项,长到超过ListBox的范围"
End Sub

精彩图集

赞助商链接