vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: Scroll Bars + Picture Box 
Autor: ModeratorDieter (Moderator)
Datum: 14.09.01 20:00

Hallo Marco,

ich würde das ganze folgendermasse realisieren:
Plaziere auf die Form eine PictureBox und nennen sie picContainer. In diese PictureBox fügst Du nun ein Image-Objekt ein und nennst es imgPicture. Dieses dient dann auch der Anzeige des Bildes. Der Vorteil der ImageBox ist ja, dass es sich automatisch der Bildgröße anpasst. So, nun brauchst Du noch einen horizontalen und vertikalen Scrollbalken, welche Du ebenfalls in die PictureBox setzt. In die rechte untere Ecke plazierst Du dann noch eine zweite PictureBox und nennst diese picEdge. Sie dient lediglich dazu, dass die beiden Scrollbalken sich nicht überlappen. Setze die Eigenschaften der Scrollbalken folgendermassen:
LargeChange = 100
SmallChange = 50
Zu beachten ist jetzt nur noch, dass die Position des Image-Objekts bei 0,0 liegt (Top=0 und Left=0). Alles andere wird nun von nachfolgendem Code erledigt.
<code><font color=green>' Scrollbars bei Bedarf anzeigen</font>
Private Sub Picture_ShowScrollbars()
  Dim hVis As Boolean
  Dim vHis As Boolean
 
  <font color=green>' wenn imgPicture grösser als picContainer ist,
  ' entsprechend vertik. bzw. horiz. ScrollBars anzeigen</font>
  With picContainer
    VScroll1.Visible = (imgPicture.Height > .ScaleHeight)
    HScroll1.Visible = (imgPicture.Width > .ScaleWidth)
    picEdge.BorderStyle = 0
    picEdge.Visible = HScroll1.Visible Or VScroll1.Visible
 
    <font color=green>' Breite des horizontalen Scrollbalkens</font>
    HScroll1.Width = .ScaleWidth
 
    <font color=green>' Höhe des vertikalen Scrollbalkens</font>
    VScroll1.Height = .ScaleHeight
 
    <font color=green>' Scrollbalken positionieren</font>
    HScroll1.Left = 0
    HScroll1.Top = .ScaleHeight - HScroll1.Height
    VScroll1.Left = .ScaleWidth - VScroll1.Width
    VScroll1.Top = 0
 
    picEdge.Left = .ScaleWidth - VScroll1.Width
    picEdge.Top = .ScaleHeight - HScroll1.Height
    HScroll1.Width = picEdge.Left
    VScroll1.Height = picEdge.Top
 
    <font color=green>' Min/Max-Eigenschaften aktualisieren</font>
    VScroll1.Max = (imgPicture.Height - .ScaleHeight) + _
      HScroll1.Height
    HScroll1.Max = (imgPicture.Width - .ScaleWidth) + _
      VScroll1.Width
  End With
End Sub</code>
Die Prozedur Picture_ShowScrollbars rufst Du nun immer dann auf, wenn Du per Code dem Image-Objekt ein neues Bild zuweist!
<code><font color=green>' Bild laden und anzeigen</font>
imgPicture.Picture = LoadPictrue("IrgendeinBild.jpg")
Picture_ShowScrollbars</code>
So sollte es klappen - die Scrollbalken werden auch nur dann angezeigt, wenn es notwendig ist!

Bei Fragen: Ich habe da auch ein kleines Testprogramm erstellt.

Cu
Dieter
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Scroll Bars + Picture Box68Marco14.09.01 15:43
Re: Scroll Bars + Picture Box351ModeratorDieter14.09.01 20:00
Danke40Marco14.09.01 20:48

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle 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.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel