Multiline-Textboxen, Richtextboxen oder auch MDI-Forms haben alle etwas gemeinsam. Bei Bedarf können hier Scrollbalken angezeigt werden. Die Standard-Forms besitzen eine solche Eigenschaft nicht, was oftmals ägerlich ist - und zwar immer dann, wenn die Form durch den Anwender verkleinert wird, und so nicht mehr alle Objekte im sichtbaren Bereich der Form angezeigt werden können.
Voraussetzungen: Der gesamte Code, der zum automatischen Ein-/Ausblenden der Scrollbars benötigt wird, befindet sich im Resize-Ereignis der Form. ' ScrollBalken bei Bedarf anzeigen Private Sub Form_Resize() Dim hVis As Boolean Dim vHis As Boolean If Me.WindowState <> 1 Then ' nur wenn Form nicht minimiert ist ' wenn die Form kleiner als die PictureBox ist ' entsprechend vertik. bzw. horiz. ScrollBars anzeigen VScroll1.Visible = (Picture1.Height > Me.ScaleHeight) HScroll1.Visible = (Picture1.Width > Me.ScaleWidth) Picture2.BorderStyle = 0 Picture2.Visible = HScroll1.Visible Or VScroll1.Visible ' Breite des horizontalen Scrollbalkens HScroll1.Width = Me.ScaleWidth ' Höhe des vertikalen Scrollbalkens VScroll1.Height = Me.ScaleHeight ' Scrollbalken positionieren HScroll1.Left = 0 HScroll1.Top = Me.ScaleHeight - HScroll1.Height VScroll1.Left = Me.ScaleWidth - VScroll1.Width VScroll1.Top = 0 Picture2.Left = Me.ScaleWidth - VScroll1.Width Picture2.Top = Me.ScaleHeight - HScroll1.Height HScroll1.Width = Picture2.Left VScroll1.Height = Picture2.Top ' Min/Max-Eigenschaften aktualisieren VScroll1.Max = (Picture1.Height - Me.ScaleHeight) + _ HScroll1.Height HScroll1.Max = (Picture1.Width - Me.ScaleWidth) + _ VScroll1.Width End If End Sub Routinen, die das Scrollen der PictureBox übernehmen Private Sub HScroll1_Change() Picture1.Left = -HScroll1.Value End Sub Private Sub HScroll1_Scroll() Picture1.Left = -HScroll1.Value End Sub Private Sub VScroll1_Change() Picture1.Top = -VScroll1.Value End Sub Private Sub VScroll1_Scroll() Picture1.Top = -VScroll1.Value End Sub Am besten Sie schauen sich das kleine Beispielsprojekt an und probieren es einmal aus. Dieser Tipp wurde bereits 30.508 mal aufgerufen.
Anzeige
![]() ![]() ![]() (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. |
Neu! sevEingabe 3.0 ![]() Einfach stark! Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. Tipp des Monats Access-Tools Vol.1 ![]() Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
|||||||||||||||||
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. |