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
註:如果以上的宣告放在「一般模組」底下, 應在 Const 之前加上 Public 保留字, 並且將 Declare 之前的 Private 保留字去掉。
2. 程式範例:
' List1 為 ListBox 的名稱 Call SendMessage(List1.hwnd, LB_SETHORIZONTALEXTENT, 水平捲動軸的寬度, ByVal 0&)
特別注意:以上的水平捲動軸寬度的單位是 pixel(像素)。