Rubrik: Controls · TreeView | VB-Versionen: VB6 | 05.10.04 |
Horizontalen Scrollbalken im TreeView ausblenden Dieser Tipp zeigt, wie sich der horizontale Scrollbalken im TreeView-Control ausblenden lässt. | ||
Autor: Dieter Otter | Bewertung: | Views: 16.238 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Im TreeView-Control werden bekanntlich autom. Scrollbalken angezeigt, sofern diese notwendig sind. Über die Scroll-Eigenschaft selbst kann man die Scrollbalken allerdings nur global ein/ausschalten, d.h. setzt man "Scroll = False" wird weder die horizontale noch die vertikale Scroll-Leiste angezeigt.
Was aber, wenn man die vertikale Scrollbar anzeigen möchte, aber niemals eine horizontale Scrollbar?
In diesem Fall hilft uns wieder einmal das Windows-API aus der Klemme. Mit Hilfe der ShowScrollBar-Funktion lässt sich sowohl die vertikale Scrollbar, als auch die horizontale Scrollbar gezielt ein-/ausblenden.
Option Explicit ' 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 Private Const SB_HORZ = 0
Um den horizontalen Scrollbalken im TreeView-Control auszublenden, rufen Sie die ShowScrollBar-Funktion wie folgt auf:
' horizontale Scrollbar ausblenden ShowScrollBar TreeView1.hwnd, SB_HORZ, False
Das funktioniert ja wunderprächtig Allerdings nur solange, bis das TreeView-Control wieder einmal der Meinung ist, dass ein horizontaler Scrollbalken doch notwendig sei
Dies ist immer dann der Fall, wenn ein neuer Knoten eingefügt bzw. ein Elternknoten geöffnet oder geschlossen wird. In diesem Fall muss man die ShowScrollBar-Funktion einfach erneut aufrufen:
' nach dem Hinzufügen eines neues Eintrag... TreeView1.Nodes.Add ... ' ... horizontale ScrollBar ausblenden ShowScrollBar TreeView1.hWnd, SB_HORZ, False
Private Sub TreeView1_Expand(ByVal Node As MSComctlLib.Node) ' Beim Öffnen eines Node-Objekts... ' ... horizontale ScrollBar ausblenden ShowScrollBar TreeView1.hwnd, SB_HORZ, False End Sub
Private Sub TreeView1_Collapse(ByVal Node As MSComctlLib.Node) ' Beim Schließen eines Node-Objekts... ' ... horizontale ScrollBar ausblenden ShowScrollBar TreeView1.hwnd, SB_HORZ, False End Sub
Mit diesem Code gehört der autom. horizontale Scrollbalken im TreeView-Control ab sofort der Vergangenheit an