vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Controls · Sonstiges   |   VB-Versionen: VB4, VB5, VB619.08.03
Scrollen per VB-Code

Dieser Tipp zeigt, wie man ein Control (z.B. TextBox) per VB-Code scrollen kann.

Autor:   Dieter OtterBewertung:  Views:  18.420 
www.tools4vb.deSystem:  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).
 



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.