Как сделать горизонтальный скролинг listbox'а? - VB

Узнай цену своей работы

Формулировка задачи:

Как сделать горизонтальный скролинг listbox'а? подскажите.

Решение задачи: «Как сделать горизонтальный скролинг listbox'а?»

textual
Листинг программы
'Пример 1
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
Const LB_SETHORIZONTALEXTENT = &H194
 
Private Sub Form_Load()
Static x As Long
List1.AddItem "Добавление длинной строки для проверки примера"
'Замените все значения 'List1.List(0)'самым длинным элементом ListBox'а
If x < TextWidth(List1.List(0) & " ") Then
x = TextWidth(List1.List(0) & " ")
If ScaleMode = vbTwips Then x = x / Screen.TwipsPerPixelX
SendMessageByNum List1.hwnd, LB_SETHORIZONTALEXTENT, x, 0
End If
End Sub
 
'Пример 2
 
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
Const LB_SETHORIZONTALEXTENT = &H194
 
Private Sub Command1_Click()
Dim s As String
Static x As Long
s = InputBox("Please enter any text", "List scroll", "this is a simple scrollbar sample for demonstration purposes")
List1.AddItem s
If x < TextWidth(s & " ") Then
x = TextWidth(s & " ")
If ScaleMode = vbTwips Then x = x / Screen.TwipsPerPixelX
SendMessageByNum List1.hwnd, LB_SETHORIZONTALEXTENT, x, 0
End If
End Sub
 
'Пример 3
 
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
Const LB_SETHORIZONTALEXTENT = &H194
 
Private Sub Command1_Click()
Static x As Long
For Item = List1.ListCount - 1 To 0 Step -1
If x < TextWidth(List1.List(Item) & " ") Then
x = TextWidth(List1.List(Item) & " ")
End If
Next
If ScaleMode = vbTwips Then x = x / Screen.TwipsPerPixelX
SendMessageByNum List1.hwnd, LB_SETHORIZONTALEXTENT, x, 0
End Sub
 
Private Sub Form_Load()
List1.AddItem "длинная переменная, которую надо"
List1.AddItem "длинная переменная, которую надо увидеть или не увидеть или еще что-то"
List1.AddItem "длинная переменная, которую надо увид"
List1.AddItem "длинная переменная, которую надо увидеть или не увидеть или еще что-тоывеапапавп"
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.125 из 5
Похожие ответы