LISTBOX为和没有左右滚动条?行值超过显示区域,为和没有出现左右滚动条?

解决方案 »

  1.   

    在VC里我也遇到同样问题,我使用了它的SetHorizontalExtent解决了。
      

  2.   

    在VB里,似乎可以向你的ListBox控件发送LB_SETHORIZONTALEXTENT消息解决这个问题.
    发送消息要用到API函数;
    其中的窗口句柄是你的ListBox.hWnd,这个属性是隐藏的,但可以使用.
    关于这个消息的用法请参阅MSDN.
      

  3.   

    如果沒有其他辦法,那該選用哪個api定義。
      

  4.   

    http://vbnet.mvps.org/code/listapi/sethorizontalextentadv.htm
    http://vbnet.mvps.org/code/listapi/sethorizontalextent.htm这里有,你看看
      

  5.   

    Option Explicit
    Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As LongPrivate Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As LongPrivate Const LB_SETHORIZONTALEXTENT = &H194Private Const WS_HSCROLL = &H100000Private Const GWL_STYLE = (-16)
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As LongPrivate Sub Form_Load()
        Dim lStyle            As Long
        List1.AddItem "Specifies the zero-based offset to the value to be retrieved. Valid values are in the range zero through the number of bytes of extra window memory, minus four"
        SendMessage List1.hWnd, LB_SETHORIZONTALEXTENT, 2000, 0
        lStyle = GetWindowLong(List1.hWnd, GWL_STYLE)
        SetWindowLong List1.hWnd, GWL_STYLE, lStyle Or WS_HSCROLL
    End Sub
      

  6.   

    可以用API函数:
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
      

  7.   

    firechun(天火) 
    你得的確可以實現,可是,那個scrollbar的長度是固定的。是否可以不固定
      

  8.   

    hisofty(瘦马) 提供的程序,不錯。就是好繁啊。