Rubrik: Controls · Sonstiges | VB-Versionen: VB4, VB5, VB6 | 19.08.03 |
Scrollen per VB-Code Dieser Tipp zeigt, wie man ein Control (z.B. TextBox) per VB-Code scrollen kann. | ||
Autor: Dieter Otter | Bewertung: | Views: 18.420 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Heute möchten wir Ihnen zeigen, wie man den Inhalt eines Controls mit integrierten Bildlaufleisten (MultiLine-TextBox, ListBox usw.) per VB-Code scrollen kann.
Erstellen Sie hierzu ein neues Projekt und platzieren auf die Form ein TextBox-Control mit der Eigenschaft "MultiLine = True" und "Scrollbars = Both".
Weiterhin werden noch vier Schaltflächen benötigt (cmdLeft, cmdRight, cmdUp und cmdDown).Beim Klick auf den jeweiligen Button soll der Inhalt der TextBox nach links, rechts, oben oder nach unten gescrollt werden.
Option Explicit ' benötigte API-Deklarationen Private Declare Function SendMessage Lib "user32" _ Alias "SendMessageA" ( _ ByVal hwnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ ByVal lParam As Long) As Long ' Konstanten Private Const WM_VSCROLL = &H115 Private Const WM_HSCROLL = &H114 Private Const SB_LINEDOWN = 1 Private Const SB_LINEUP = 0 Private Const SB_LINELEFT = 0 Private Const SB_LINERIGHT = 1
Private Sub Form_Load() ' TextBox füllen Dim i As Integer Text1.Text = "" For i = 1 To 100 Text1.Text = Text1.Text & "Zeile " & CStr(i) & _ String$(500, ".") & vbCrLf Next i End Sub
Private Sub cmdLeft_Click() ' nach links scrollen SendMessage Text1.hWnd, WM_HSCROLL, SB_LINELEFT, 0& End Sub
Private Sub cmdRight_Click() ' nach rechts scrollen SendMessage Text1.hWnd, WM_HSCROLL, SB_LINERIGHT, 0& End Sub
Private Sub cmdUp_Click() ' nach oben scrollen SendMessage Text1.hWnd, WM_VSCROLL, SB_LINEUP, 0& End Sub
Private Sub cmdDown_Click() ' nach unten scrollen SendMessage Text1.hWnd, WM_VSCROLL, SB_LINEDOWN, 0& End Sub
Das ganze funktioniert natürlich auch mit einer ListBox. Einfach beim SendMessage-Aufruf im ersten Parameter das Windowhandle der ListBox angeben (List1.hWnd).