private Declare Function SendMessage Lib "User32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As LongSendMessage LST1.hwnd, &H194, 250, 0

解决方案 »

  1.   

    to:hnlzh(吸海垂虹)
    请可以给出API 常量与其具体的数值吗?这样偶容易维护,呵呵。
      

  2.   

    &H194的常量描述是什么呢?
      

  3.   

    Const LB_SETHORIZONTALEXTENT = &H194
      

  4.   

    to:hnlzh(吸海垂虹) 
    还是兄弟厉害,偶还有另外一个问题请教:
    http://www.csdn.net/expert/topic/236/236132.shtm
      

  5.   

    to:pp616(平平) 
    偶没有这类别的书耶,请问,类似的问题应该看什么书,可以介绍一下吗?
      

  6.   

    你所说的问题在《Visual Basic 编程疑难详解》里有很详细的代码。
      

  7.   

    Option ExplicitPrivate Const LB_SETHORIZONTALEXTENT = &H194
    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