vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

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

Visual-Basic Einsteiger
Scroll Bars + Picture Box 
Autor: Marco
Datum: 14.09.01 15:43

Hallo,

wie kann ich über zwei Scroll Bars den sichtbaren Teil einer Picture Box verändern? (also in X- und Y-Richtung)

Hoffentlich versteht ihr was ich damit meine

Danke und bis dann

Marco
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Danke 
Autor: Marco
Datum: 14.09.01 20:48

Hi Dieter,

werde mich da gleich mal dran versuchen.

Danke sehr...

Marco
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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-2024 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