ABOUT Visual Basic Programmieren Programmierung Download Downloads Tips & Tricks Tipps & Tricks Know-How Praxis VB VBA Visual Basic for Applications VBS VBScript Scripting Windows ActiveX COM OLE API ComputerPC Microsoft Office Microsoft Office 97 Office 2000 Access Word Winword Excel Outlook Addins ASP Active Server Pages COMAddIns ActiveX-Controls OCX UserControl UserDocument Komponenten DLL EXE
Diese Seite wurde zuletzt aktualisiert am 26.07.2001

Diese Seite wurde zuletzt aktualisiert am 26.07.2001
Aktuell im ABOUT Visual Basic-MagazinGrundlagenwissen und TechnologienKnow How, Tipps und Tricks rund um Visual BasicActiveX-Komponenten, Controls, Klassen und mehr...AddIns für die Visual Basic-IDE und die VBA-IDEVBA-Programmierung in MS-Office und anderen AnwendungenScripting-Praxis für den Windows Scripting Host und das Scripting-ControlTools, Komponenten und Dienstleistungen des MarktesRessourcen für Programmierer (Bücher, Job-Börse)Dies&Das...

Themen und Stichwörter im ABOUT Visual Basic-Magazin
Code, Beispiele, Komponenten, Tools im Überblick, Shareware, Freeware
Ihre Service-Seite, Termine, Job-Börse
Melden Sie sich an, um in den vollen Genuss des ABOUT Visual Basic-Magazins zu kommen!
Informationen zum ABOUT Visual Basic-Magazin, Kontakt und Impressum

Zurück...

Rollbalken verstecken

Zurück...


Anzeige

(-hg) mailto:hg_showscrollbars@aboutvb.de

Die Rollbalken (Scrollbars) eines Fensters können Sie über die API-Funktion ShowScrollbar ein- und ausblenden. Und da Forms, UserControls, PropertyPages und Steuerelemente Fenster sind, können Sie somit auch die Rollbalken von diesen ein- und ausblenden. Bei Fenstern, die Sie in Visual Basic antreffen, werden Sie mit eingeblendeten Rollbalken nicht viel anfangen können, wenn diese nicht von vornherein vorhanden und vorgesehen sind (insofern müsste man eher umgekehrt von "aus- und wieder einblenden" sprechen), außer Sie setzen Subclassing-Techniken ein, um die Nachrichten von nachträglich eingeblendeten Rollbalken abzufangen und zu bearbeiten. Aber das ist ein anderes, weitaus komplexeres Thema, das wir hier nicht anpacken wollen. Wir begnügen uns statt dessen mit dem einfachen Aus- und wieder Einblenden von Rollbalken bei Steuerelementen wie TextBox, ListBox und anderen.

Da sich die Konstanten zur Angabe, welche Rollbalken (horizontal und/oder vertikal) sichtbar sein sollen bei der API-Funktion ShowScrollbar von den Konstanten in Visual Basic (ScrollBarConstants) unterscheiden, Setzen wir den Aufruf in die Hilfsfunktion ShowScrollbars. Dieser übergeben Sie das betreffende VB-Objekt und, wie beispielsweise bei einer Multiline-Textbox gewohnt, eine der 4 möglichen VB-Konstanten (vbSBNone, vbHorizontal, vbVertical oder vbBoth). Dementsprechend werden in der Funktion durch Einzelaufrufe der API-Funktion ShowScrollbar der horizontale oder der vertikale Rollbalken aus- oder eingeblendet. Sollte das übergebene VB-Objekt nicht über eine hWnd-Eigenschaft (Fenster-Handle) verfügen, geschieht gar nichts - die Funktion gibt True zurück, um den Fehlerfall anzuzeigen.

Private Declare Function ShowScrollBar Lib "user32" _
 (ByVal hwnd As Long, ByVal wBar As Long, ByVal bShow As Long) _
 As Long

Public Function ShowScrollBars(Object As Object, _
 ScrollBars As ScrollBarConstants) As Boolean

  Dim nWnd As Long
  
  Const SB_HORZ = 0
  Const SB_VERT = 1
  Const SB_BOTH = 3
  
  On Error Resume Next
  nWnd = Object.hwnd
  If Err.Number Then
    ShowScrollBars = True
  Else
    Select Case ScrollBars
      Case vbSBNone
        ShowScrollBar nWnd, SB_BOTH, False
      Case vbHorizontal
        ShowScrollBar nWnd, SB_VERT, False
        ShowScrollBar nWnd, SB_HORZ, True
      Case vbVertical
        ShowScrollBar nWnd, SB_HORZ, False
        ShowScrollBar nWnd, SB_VERT, True
      Case vbBoth
        ShowScrollBar nWnd, SB_BOTH, True
    End Select
  End If
End Function

Beachten Sie, dass mit dem Aus- oder Einblenden von Rollbalken in der Regel keine anderen Einstellungen und Verhaltensweisen des jeweiligen Fensters gesetzt werden. Bei einer Multiline-TextBox, die voreingestellt beide Rollbalken anzeigt, wird mit dem Ausblenden des horizontalen Rollbalkens keineswegs der automatische Zeilenumbruch eingeschaltet, bzw. umgekehrt bei einer Multiline-TextBox ohne voreingestellten horizontalen Rollbalken wird der automatische Zeilenumbruch mit dem Einblenden des Rollbalken nicht automatisch ausgeschaltet!


Beispiel-Projekt und Modul modShowScrollbars (showscrollbars.zip - ca. 3,1 KB)


Artikel
Zum Download-Bereich dieses Artikel
Mail an den Autor dieses Artikels

KnowHow
Zur KnowHow-Übersicht

KnowHow-Themen
Themen - Allgemeines
Themen - Entwicklungsumgebung (VB-IDE)
Themen - Forms
Themen - Steuerelemente (Controls)
Themen - Grafik
Themen - Dateien
Themen - UserControls
Themen - Einsteiger-Tipps
Themen - Wussten Sie...?

Übersicht nach Titeln in alphabetischer Reihenfolge
Übersicht nach Erscheinungsdatum

Schnellsuche




Zum Seitenanfang

Copyright © 1999 - 2017 Harald M. Genauck, ip-pro gmbh  /  Impressum

Zum Seitenanfang

Zurück...

Zurück...

Download Internet Explorer