Desain horizontal di list box secara manual sudah pasti ga bakalan bisa. cobain ajah deh kalo memang bisa, tanpa listing code?
artikel ini saya akan membahas listing code tersebut. di textbox sih bisa menggunakan scrollbar, tapi kalo listbox secara otomatis hanya scrollbar vertikalnya saja.
pertama kali yang kamu harus lakukan hanya membuat satu form dan satu lisbox. itu saja?
desain terlebih dahulu seperti gambar disamping ini.
lisitng code berikut saya akan gunakan jenis huruf random alias acak. kamu ingin buat sesuka mu?tinggal modif saja listing codenya.
berikut ini listing codenya
Option Explicit
Private Declare Function SendMessageByNum _
Lib "user32" _
Alias "SendMessageA" _
(ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As Long
Private Const LB_SETHORIZONTALEXTENT = &H194
Private mlngLongestItemLen As Long
'------------------------------------------------------------------------
Private Sub Form_Load()
'------------------------------------------------------------------------
Dim intX As Integer
Dim strNewItem As String
Dim lngItemLen As Long
Randomize
For intX = 1 To 100
strNewItem = String$(GetRandomNumber(1, 100), 64 + GetRandomNumber(1, 26)) & " "
lngItemLen = Me.TextWidth(strNewItem)
If Me.ScaleMode = vbTwips Then
lngItemLen = lngItemLen / Screen.TwipsPerPixelX
End If
If lngItemLen > mlngLongestItemLen Then
mlngLongestItemLen = lngItemLen
End If
List1.AddItem strNewItem
SendMessageByNum List1.hwnd, LB_SETHORIZONTALEXTENT, mlngLongestItemLen, 0
Next
End Sub
'------------------------------------------------------------------------
Private Function GetRandomNumber(pintLowerBound As Integer, _
pintUpperBound As Integer) _
As Integer
'------------------------------------------------------------------------
GetRandomNumber = Int((pintUpperBound - pintLowerBound + 1) * Rnd + pintLowerBound)
End Function
Private Sub List1_Click()
End Sub