برای جابجا کردن موقعیت ScrollBar بدون توجه به موقعیت مکان نمای (Cursor) داخل TextBox بایستی
پیغام
EM_SCROLL را به آن ارسال کنید.
تابع
SendMessage که در API ویندوز قرار دارد پیغام را به کنترل TextBox ارسال خواهد کرد.
کد زیر مشخصات تابع SendMessage و مقدار پارامترهای EM_SCROLL را تعریف می کند :
کد:
Private Const EM_SCROLL As Long = &HB5
Private Const SB_LINEDOWN As Long = 1
Private Const SB_LINEUP As Long = 0
Private Const SB_PAGEDOWN As Long = 3
Private Const SB_PAGEUP As Long = 2
Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByRef lParam As Any) As Long
با اضافه کردن کد بالا در ابتدای کد های فرم، آنرا برای بکارگیری تابع مورد نظر آماده کنید.
اکنون فرض کنیم که دکمه ای به نام Command1 روی فرم قرار دارد که با کلیک کردن روی آن قرار است ScrollBar درون
Text1 به اندازه یک سطر به سمت پایین حرکت کند. کد زیر این عمل را انجام می دهد :
کد:
Private Sub Command1_Click()
SendMessage Text1.hWnd, EM_SCROLL, [B]SB_LINEDOWN[/B], ByVal 0&
End Sub
اگر
SB_LINEDOWN را با SB_LINEUP تعویض کنید، حرکت ScrollBar به سمت بالا (یک سطر) خواهد بود.
بطور مشابه مقادیر SB_PAGEDOWN و SB_PAGEUP برای حرکت به اندازه یک صفحه (نه یک سطر) کاربرد دارند.