如何为 ListBox 设定水平卷动轴?

原始来源:王国荣

VB 的 ListBox 并没有水平卷动轴的功能,如果遇到某一个资料项很长时, 使用者就无
法看到这一个资料项的所有内容,问如何设定水平卷动轴给 ListBox?


可利用 SendMessage 传送 LB_SETHORIZONTALEXTENT 讯息给 ListBox,此一讯息的作用
就是要求ListBox 设定水平卷动轴, 细节如下:

 1. API 的宣告:

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

 2. 程式范例:
   ' List1 为 ListBox 的名称
   Call SendMessage(List1.hwnd, LB_SETHORIZONTALEXTENT, _
        水平卷动轴的宽度, ByVal 0&)

 特别注意:以上的水平卷动轴宽度的单位是 pixel(像素)。