Die Community zu .NET und Classic VB.
Menü

VB 5/6-Tipp 0237: MDI-Formulare mit Bitmaps

 von 

Beschreibung 

Dieses kleine Beispiel zeigt auf wie mit Hilfe von MDI-Formularen unterschiedliche Bitmaps dargestellt werden können. Ist die Grafik dabei größer als das Trägerform werden automatisch entsprechend dimensionierte Scrollbars angebracht.

Schwierigkeitsgrad:

Schwierigkeitsgrad 1

Verwendete API-Aufrufe:

keine

Download:

Download des Beispielprojektes [76,32 KB]

'Dieser Quellcode stammt von http://www.activevb.de
'und kann frei verwendet werden. Für eventuelle Schäden
'wird nicht gehaftet.

'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum.
'Ansonsten viel Spaß und Erfolg mit diesem Source!

'------------- Anfang Projektdatei Project1.vbp -------------
' Die Komponente 'Microsoft Common Dialog Control 6.0 (SP3) (COMDLG32.OCX)' wird benötigt.

'--------- Anfang Formular "Form1" alias Form1.frm  ---------

Option Explicit

Private Sub MDIForm_Load()
  Dim MDI1 As New Form2
    With MDI1
      .Image1.Picture = LoadPicture(App.Path & "\Bild1.jpg")
      .Caption = "Bild 1"
      .Show
      .Width = .Width - Screen.TwipsPerPixelX
    End With

  Dim MDI2 As New Form2
    With MDI2
      .Image1.Picture = LoadPicture(App.Path & "\Bild2.jpg")
      .Caption = "Bild 2"
      .Show
      .Width = .Width - Screen.TwipsPerPixelX
    End With

  Dim MDI3 As New Form2
     With MDI3
      .Image1.Picture = LoadPicture(App.Path & "\Bild3.jpg")
      .Caption = "Bild 3"
      .Show
      .Width = .Width - Screen.TwipsPerPixelX
    End With
End Sub
'---------- Ende Formular "Form1" alias Form1.frm  ----------
'--------- Anfang Formular "Form2" alias Form2.frm  ---------
' Steuerelement: Vertikale Scrollbar "VScroll1"
' Steuerelement: Horizontale Scrollbar "HScroll1"
' Steuerelement: Bildfeld-Steuerelement "Picture1"
' Steuerelement: Anzeige-Steuerelement "Image1" auf Picture1

Option Explicit



Private Sub Form_Resize()
  If WindowState <> vbMinimized Then
    HScroll1.Top = Height - HScroll1.Height - 400
    HScroll1.Width = Width - VScroll1.Width - 120
    VScroll1.Left = Width - VScroll1.Width - 120
    VScroll1.Height = Height - 400 - HScroll1.Height
    
    Picture1.Width = VScroll1.Left - 24
    Picture1.Height = HScroll1.Top - 24
    
    If Picture1.Width > Image1.Width Then
      HScroll1.Visible = False
    Else
      HScroll1.Visible = True
      HScroll1.Value = 0
      HScroll1.Max = Image1.Width - Picture1.Width
      HScroll1.LargeChange = Picture1.Width \ 3
      HScroll1.SmallChange = Screen.TwipsPerPixelX
      If HScroll1.LargeChange = 0 Then
        HScroll1.LargeChange = HScroll1.SmallChange
      End If
    End If
    
    If Picture1.Height > Image1.Height Then
      VScroll1.Visible = False
    Else
      VScroll1.Visible = True
      VScroll1.Value = 0
      VScroll1.Max = Image1.Height - Picture1.Height
      VScroll1.LargeChange = Picture1.Height \ 3
      VScroll1.SmallChange = Screen.TwipsPerPixelY
      If VScroll1.LargeChange = 0 Then
        VScroll1.LargeChange = VScroll1.SmallChange
      End If
    End If
  End If
End Sub

Private Sub HScroll1_Change()
  Image1.Left = -HScroll1.Value
End Sub

Private Sub HScroll1_Scroll()
  Call HScroll1_Change
End Sub

Private Sub VScroll1_Change()
  Image1.Top = -VScroll1.Value
End Sub

Private Sub VScroll1_Scroll()
    Call VScroll1_Change
End Sub
'---------- Ende Formular "Form2" alias Form2.frm  ----------
'-------------- Ende Projektdatei Project1.vbp --------------

Tipp-Kompatibilität:

Windows/VB-VersionWin32sWin95Win98WinMEWinNT4Win2000WinXP
VB4
VB5
VB6

Hat dieser Tipp auf Ihrem Betriebsystem und mit Ihrer VB-Version funktioniert?

Ja, funktioniert!

Nein, funktioniert nicht bei mir!

VB-Version:

Windows-Version:

Ihre Meinung  

Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.

Archivierte Nutzerkommentare 

Klicken Sie diesen Text an, wenn Sie die 1 archivierten Kommentare ansehen möchten.
Diese stammen noch von der Zeit, als es noch keine direkte Forenunterstützung für Fragen und Kommentare zu einzelnen Artikeln gab.
Aus Gründen der Vollständigkeit können Sie sich die ausgeblendeten Kommentare zu diesem Artikel aber gerne weiterhin ansehen.

Kommentar von ~Sammy~ am 06.07.2004 um 09:55

Hi

Wie kann ich selber so eine MDIForm erstellen?
die Eigenschaft MDICild ist ja für das "Kind"!
und was muss ich ändern, um ein Parent zu bekommen?

Danke im vorraus