Bildbetrachter II

Bildbetrachter. Programmierung via MDI-Formular: Instanzen, Statusleiste, Symbolleiste, Menüleiste, Set
Prozeduren im Modul
Public bildzähler As Long, F As Form Deklarationsteil für Bildzähler und Formular (Instanz).
Public Sub laden() Prozedur "Laden eines Bildes".
Dim Dateiname$
mdiHaupt1.dlgDateiOpen.ShowOpen Auswahldialogfeld anzeigen.
Dateiname = mdiHaupt1.dlgDateiOpen.FileName Ausgewählten Dateinamen abspeichern.
If Dateiname = "" Then Exit Sub
If bildzähler > 0 Then Beim ersten Formular kein weiteres Formular laden,
Set F = New frmBild ansonsten neue Instanz des Formulars erzeugen.
Else
Set F = frmBild
End If
F.imgBild.Picture = LoadPicture(Dateiname) Bild laden.
F.Caption = Dateiname Dateiname laden.
F.Show Formular (Instanz) mit Bild anzeigen.
bildzähler = bildzähler + 1 Variable "Bildzähler" um eins erhöhen.
Call statusAnzeigen
End Sub
Public Sub statusAnzeigen() Prozedur "Anzahl der Bilder in Statusleiste anzeigen".
If bildzähler = 1 Then
mdiHaupt1.staStatusleiste.Panels("Anzahl").Text = bildzähler & " Bild geladen"
Else
mdiHaupt1.staStatusleiste.Panels("Anzahl").Text = bildzähler & " Bilder geladen"
End If
End Sub
Prozedur "Bild entladen".
Public Sub query_unload(Cancel As Integer, UnloadMode As Integer)
Dim antwort%
antwort = MsgBox(Prompt:="Soll das Bild entfernt werden?", Title:="Frage", Buttons:=vbYesNo + vbQuestion)
If antwort = vbYes Then
Unload frmBild
bildzähler = bildzähler - 1 Bildzähler runterzählen.
Call statusAnzeigen
Else
Cancel = True
End If
End Sub
Prozeduren im MDI-Formular
Hinweis: das MDI-Formular als Startformular zuweisen! (Kontextmenü: Formulare: Eigenschaften von Projekt...)
Private öffnen As Long
Private Sub MDIForm_Load()
bildzähler = 0
Call statusAnzeigen
End Sub
Private Sub mnuLaden_Click()
Call laden
End Sub Zum Erstellen der Symbolleiste siehe Monadjemi
S. 252 ff, 257 unten.
Private Sub symSymbolleiste_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.Key Symbolleiste: Welcher Button wird angeklickt?
Case "Öffnen"
mnuLaden_Click
Case "Schließen"
If bildzähler > 0 Then Unload Me.ActiveForm
Case "Verkleinern"
mnuKleiner_Click
Case "Wiederherstellen"
mnuWiederherstellen_Click
Case "Kopieren"
If bildzähler > 0 Then
mdiHaupt1.ActiveForm.picHilfsbild.Picture = mdiHaupt1.ActiveForm.imgBild.Picture
Clipboard.SetData mdiHaupt1.ActiveForm.picHilfsbild.Image, vbCFDIB
End If
Case "MsPaint"
mnuMsPaint_Click
Case "CloseAll"
mnuCloseAll_Click
End Select
End Sub
Private Sub mnuBearbeiten_Click()
If mdiHaupt1.ActiveForm Is Nothing Then Menüeintrag nur anbieten, wenn es ein aktives Formular
mnuEinfügen.Enabled = False gibt, denn sonst gibt es ja auch kein Bild zum Kopieren.
Else
mnuEinfügen.Enabled = True
End If
End Sub
Diese Prozedur kopiert den Inhalt der ImageBox in
Private Sub mnuEinfügen_Click() die Zwischenablage.
mdiHaupt1.ActiveForm.picHilfsbild.Picture = _ Der Umweg über die PictureBox ist notwendig, da über
mdiHaupt1.ActiveForm.imgBild.Picture dessen Image-Eigenschaft das Ico-Format in das
Clipboard.SetData _ Bitmap-Format umgewandelt wird, das die
mdiHaupt1.ActiveForm.picHilfsbild.Image, vbCFDIB Zwischenablage interpretieren kann.
End Sub
Private Sub mnuCloseAll_Click()
For Each F In Forms Alle geladenen Bilder können auf ein mal geschlossen
If TypeOf F Is frmBild Then werden.
Unload F
End If
Next
End Sub
Private Sub mnuKleiner_Click()
For Each F In Forms Alle geladenen Bilder können auf ein mal verkleinert werden.
If TypeOf F Is frmBild Then
F.WindowState = vbMinimized
End If
Next
End Sub
Private Sub mnuWiederherstellen_Click() Alle geladenen Bilder können auf ein mal wieder
For Each F In Forms vergrößert werden.
If TypeOf F Is frmBild Then
F.WindowState = vbNormal
End If
Next
End Sub
Private Sub MDIForm_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = vbRightButton Then Wurde die rechte Maustaste gedrückt?
Me.PopupMenu mnuBilder PopUp-Menü "Bilder" öffnet sich.
End If
End Sub
Private Sub mnuNeben_Click()
mdiHaupt1.Arrange vbTileVertical
End Sub
Private Sub mnuUeber_Click()
mdiHaupt1.Arrange vbCascade
End Sub
Private Sub mnuUnter_Click()
mdiHaupt1.Arrange vbTileHorizontal
End Sub
Private Sub mnuSymbole_Click()
mdiHaupt1.Arrange vbArrangeIcons
End Sub
Private Sub mnuMsPaint_Click()
öffnen = Shell("mspaint.exe", 1) Öffnen des Programmes Paint.
End Sub
Private Sub mnuEnde_Click()
End
End Sub
Prozeduren im Kind-Formular
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Call query_unload(Cancel, UnloadMode)
End Sub
Private Sub Form_Resize()
imgBild.Top = 0
imgBild.Left = 0
imgBild.Width = frmBild.ScaleWidth
imgBild.Height = frmBild.ScaleHeight
End Sub
Private Sub imgBild_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = vbRightButton Then Wurde die rechte Maustaste gedrückt?
frmBild.PopupMenu mdiHaupt1.mnuBilder PopUp-Menü "Bilder" öffnet sich.
End If
End Sub

Mehr Tipps: Devisenrechner II

Sponsoren und Investoren

Sponsoren und Investoren sind jederzeit herzlich willkommen!
Wenn Sie die Information(en) auf dieser Seite interessant fanden, freuen wir uns über eine kleine Spende. Empfehlen Sie uns bitte auch in Ihren Netzwerken (z. B. Twitter, Facebook oder Google+). Herzlichen Dank!

Nach oben Sitemap
Impressum & Kontakt