Rubrik: Controls · ListBox | VB-Versionen: VB4, VB5, VB6 | 16.04.02 |
Ein-/Ausblenden der ListBox-Scrollbars Mit einer einzigen API-Funktion lässt sich der vertikale Scrollbalken einer Listbox gezielt ein- und ausblenden. | ||
Autor: Dieter Otter | Bewertung: | Views: 30.737 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Die Standard-ListBox ist sicherlich eines der meist verwendeten Steuerelementen in VB-Programmen. Sobald die Liste mehr Einträge enthält als im sichtbaren Bereich anzeigbar, wird automatisch ein vertikaler Scrollbalken eingeblendet.
Was aber, wenn man den Scrollbalken nicht angezeigt haben möchte?
TextBoxen verfügen hierfür über die Eigenschaft ScrollBars, über die sich festlegen lässt, ob ein Scrollbalken angezeigt werden soll oder nicht.
Die ListBox besitzt diese Eigenschaft aber nicht. Also muß das Windows-API wieder einmal herhalten
Mit nachfolgender Funktion lässt sich der vertikale Scrollbalken einer ListBox jederzeit gezielt ein- und auch wieder ausschalten.
' zunächst die benötigten API-Deklarationen Private Declare Function ShowScrollBar Lib "user32" ( _ ByVal hwnd As Long, _ ByVal wBar As Long, _ ByVal bShow As Long) As Long Private Const SB_VERT = 1
' Scrollbalken ausblenden ShowScrollBar List1.hWnd, SB_VERT, False
' Scrollbalken einblenden ShowScrollBar List1.hWnd, SB_VERT, True
Wurde der Scrollbalken ausgeblendet, so erscheint dieser aber automatisch wieder, sobald der Anwender innerhalb der ListBox scrollt. Da hier aber ein entsprechendes Ereignis ausgelöst wird, lässt sich der Scrollbalken auch schnell wieder abschalten
Private Sub List1_Scroll() ' Scrollbalken ggf. ausblenden ShowScrollBar List1.hwnd, SB_VERT, False End Sub