1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

[VB] Bilder anhand einer Bedingung anzeigen

Discussion in 'Programmieren' started by tomtimo, Oct 8, 2003.

Thread Status:
Not open for further replies.
  1. tomtimo

    tomtimo ROM

    Hallo,

    ich habe eine Frage zu VB

    Ich möchte in einem Programm zwei Bilder einfügen. Ganz einfach! Aber, ist in einer ComboBox Listindex 1 ausgewählt , soll Bild1 an Psition A und Bild2 an Position B stehen. Ist Listindex=0 soll Bild 1 an Position B und Bild 2 an Position A stehen.
    Das hatte ich auch schonmal am klappen, aber ich bekomme es nicht mehr hin. Weiter möchte ich die Bilder mit dem Parameter "app.Path" laden, da der Pfad zu den Bildern nicht immer der gleiche sein soll.

    Kann mir jemand helfen?

    schonmal vielen Dank

    CU
     
  2. MichaelausP

    MichaelausP Viertel Gigabyte

    So, hier der vollständige Code:


    Private Sub cmdOK_Click()
    End 'Beendet das Programm
    End Sub

    Private Sub ComboList1_Click()
    On Error GoTo fehler
    ' Auswahl, welcher Eintrag gewählt wurde

    Set ImgLinks.Picture = LoadPicture(App.Path & "\Bild1.jpg")
    Set ImgRechts.Picture = LoadPicture(App.Path & "\bild2.jpg")

    Select Case ComboList1.ListIndex
    Case 0 'keine Auswahl ... Index Null
    Set ImgLinks.Picture = LoadPicture(App.Path & "\Bild2.jpg")
    Set ImgRechts.Picture = LoadPicture(App.Path & "\bild1.jpg")
    Me.ImgLinks.Visible = True
    Me.ImgRechts.Visible = True
    Me.labHinweis.Caption = "Die Bilder wurden vertauscht."

    Case 1 ' der erste Eintrag wurde gewählt
    Me.ImgLinks.Visible = True ' die Bedingung, was geschehen soll
    Me.ImgRechts.Visible = False ' die Bedingung für das zweite Bild
    Me.labHinweis.Caption = "Erster Eintrag gewählt, Bild links"
    Case 2 ' der zweite Eintrag ist gewählt

    Me.ImgLinks.Visible = False
    Me.ImgRechts.Visible = True
    Me.labHinweis.Caption = "Zweiter Eintrag gewählt, Bild rechts"
    End Select ' Beendet die Anweisung Select Case
    Exit Sub ' Hier wird die Prozedur beendet, wenn kein Fehler auftritt

    '*** Fehlerbehandlung *********************************************************
    fehler:
    Rückgabe = fehler(Err)


    End Sub

    Private Sub Form_Load()
    ' die ComboListbox füllen
    With ComboList1
    .AddItem "", 0
    .AddItem "Bild 1", 1
    .AddItem "Bild 2", 2
    End With
    With List1 ' die Listbox füllen
    .AddItem "Bild 1", 0
    .AddItem "Bild 2", 1
    End With

    End Sub

    Private Sub List1_Click()
    On Error GoTo fehler

    Set ImgLinks.Picture = LoadPicture(App.Path & "\Bild1.jpg")
    Set ImgRechts.Picture = LoadPicture(App.Path & "\bild2.jpg")
    If Me.List1.Selected(0) = True Then
    Me.ImgLinks.Visible = True ' die Bedingung für die Anzeigen
    Me.ImgRechts.Visible = False ' auch für Bild Zwei
    Me.labHinweis.Caption = "Erster Eintrag ausgewählt, Bild links"
    ElseIf Me.List1.Selected(1) = True Then
    Me.ImgLinks.Visible = False ' die Bedingung für die Anzeigen
    Me.ImgRechts.Visible = True ' auch für Bild Zwei
    Me.labHinweis.Caption = "Zweiter Eintrag ausgewählt, Bild rechts"
    End If

    If Me.List1.Selected(0) = False And Me.List1.Selected(1) = False Then
    Set ImgLinks.Picture = LoadPicture(App.Path & "\Bild2.jpg")
    Set ImgRechts.Picture = LoadPicture(App.Path & "\bild1.jpg")
    Me.ImgLinks.Visible = True ' die Bedingung für die Anzeigen
    Me.ImgRechts.Visible = True ' auch für Bild Zwei
    Me.labHinweis.Caption = "Kein Bild ausgewählt, Bilder wurden getauscht"
    ElseIf Me.List1.Selected(0) = True And Me.List1.Selected(1) = True Then
    Set ImgLinks.Picture = LoadPicture(App.Path & "\Bild1.jpg")
    Set ImgRechts.Picture = LoadPicture(App.Path & "\bild2.jpg")
    Me.ImgLinks.Visible = True ' die Bedingung für die Anzeigen
    Me.ImgRechts.Visible = True ' auch für Bild Zwei
    Me.labHinweis.Caption = "Zwei Bilder ausgewählt, beide Bilder sichtbar"
    End If
    Exit Sub ' Hier wird die Prozedur beendet, wenn kein Fehler auftritt

    '*** Fehlerbehandlung *********************************************************
    fehler:
    Rückgabe = fehler(Err)
    End Sub



    Inhalt der Fehler.bas:

    Option Explicit
    Public Rückgabe%


    Function fehler(Fehlerwert)
    Const ftitel As String = "Fehler aufgetreten!"

    Select Case Fehlerwert
    Case 53
    MsgBox "Die Bild-Datei konnte nicht im Programmverzeichnis gefunden werden!" & Chr(13) _
    & "Kopieren Sie beide Bilddateien aus dem Setuparchiv (VBEXE.ZIP) in das Programmverzeichnis!", vbExclamation + vbOKOnly, ftitel

    End Select

    End Function

    #################################

    Hoffe, du kommst klar.
     
Thread Status:
Not open for further replies.

Share This Page