- Код: Выделить всё
Option Explicit
Private Const LB_GETHORIZONTALEXTENT As Long = &H193
Private Const LB_ADDSTRING As Long = &H180
Private Const LB_SETHORIZONTALEXTENT As Long = &H194
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Any) As Long
Private Sub Form_Load()
Dim i As Long
SendMessage List1.hwnd, LB_ADDSTRING, 0, ByVal "Длинная строка которая не помещается в ListBox"
i = SendMessage(List1.hwnd, LB_GETHORIZONTALEXTENT, ByVal 0&, ByVal 0&)
SendMessage List1.hwnd, LB_SETHORIZONTALEXTENT, ByVal i&, ByVal 0&
MsgBox i
End Sub
Перерыл весь MSDN, KB и кучу других источников, они все как один утверждают, что это должно работать. Но вот ни одного исходника мне найте не удалось ( только теория, которая на практике почему-то не работает.