利用 EM_LINESCROLL 訊息控制 TextBox 的捲動。
在含有捲動軸的 TextBox 中, 如何以程式控制 TextBox 的捲動?
傳送 EM_LINESCROLL 訊息給 TextBox 控制元件,方法是呼叫 SendMessage API 函數,細節如下:
1. API 的宣告:
Const EM_LINESCROLL = &HB6
Private Declare Function SendMessageBynum Lib "user32" Alias
"SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long,
ByVal lParam As Long) As Long
註:如果以上的宣告放在「一般模組」底下, 應在 Const 之前加上 Public 保留字, 並且將 Declare 之前的 Private 保留字去掉。
2. 呼叫範例:
ret = SendMessageBynum(Text1.hwnd, EM_LINESCROLL, 0, 1 ) '
下捲一行
ret = SendMessageBynum(Text1.hwnd, EM_LINESCROLL, 0, -1 ) '
上捲一行
ret = SendMessageBynum(Text1.hwnd, EM_LINESCROLL, 1, 0) '
右捲一列
ret = SendMessageBynum(Text1.hwnd, EM_LINESCROLL, -1, 0) '
左捲一列
ret = SendMessageBynum(Text1.hwnd, EM_LINESCROLL, 1, 1 ) '
下捲一行且右捲一列
註:以上的 Text1 為 TextBox 的名稱。