リストボックスに格納されている文字列の長さに合わせて横スクロールバーを表示します。
'-------------------------------------------------------
'
'-------------------------------------------------------
Private SubForm_Load()
DimlngWidthAs Long
DimiAs Integer
List1.AddItem "123"
List1.AddItem "123456"
List1.AddItem "1234567890"
List1.AddItem "1234567890123"
List1.AddItem "1234567890123456"
List1.AddItem "12345678901234567890"
List1.AddItem "12345678901234567890123"
List1.AddItem "12345678901234567890123456"
List1.AddItem "123456789012345678901234567890"
'最大の文字幅を検索します。
Fori = 0 To List1.ListCount - 1
IflngWidth < TextWidth(List1.List(i) & " ")Then
lngWidth = TextWidth(List1.List(i) & " ")
End If
Next
'Twip値の場合Pixelに変換します。
IfScaleMode = vbTwipsThen
lngWidth = lngWidth / Screen.TwipsPerPixelX
End If
CallSendMessageByNum(List1.hwnd, LB_SETHORIZONTALEXTENT, lngWidth, 0)
End Sub
'-------------------------------------------------------
' Module
'-------------------------------------------------------
Declare FunctionSendMessageByNumLib"user32"Alias"SendMessageA" (ByValhwndAs Long,ByValwMsgAs Long,ByValwParamAs Long,ByVallParamAs Long)As Long
Public ConstLB_SETHORIZONTALEXTENT = &H194
DownLoad vbtips102.lzh 2KB (VB6.0)