Make your own free website on Tripod.com

VB -45: ComboBoxen

Wenn's mal eng wird...

Wenn der Platz für eine Listbox zu knapp ist, können wir auf die Alternative ComboBox zurückgreifen. Je nach eingestellter "Style"-Eigenschaft, kann eine ComboBox verschiedene reagieren und aussehen:

Auch wenn wir hier eigentlich genug Platz haben, wollen wir das übungshalber einmal ausprobieren. Wir nehmen Style 2, da es uns nur darum geht, daß der User einen Eintrag auswählt. Wir ersetzen also unser Listenfeld lstUebung durch eine Combobox cboUebung. Dabei darauf achten, daß auch diese innerhalb des ersten Frame liegt!

Am Code müssen wir nicht allzuviel ändern:

     Private Sub Form_Load()
     Dim i As Integer
        For i = 1 To 4
            fraUebung(i).Visible = False    'Rahmen unsichtbar machen
        Next i
        fraUebung(0).Visible = True         'Rahmen sichtbar machen

        cboUebung.AddItem "Zählen"          'Liste initialisieren
        cboUebung.AddItem "Addition mit Symbolen"
        cboUebung.AddItem "Addition"
        cboUebung.AddItem "Subtraktion"
        cboUebung.AddItem "Multiplikation"
        cboUebung.AddItem "Division"
        cboUebung.ListIndex = 0             'ersten Eintrag auswählen

     End Sub
 

Standardmäßig wird in einer ComboCox kein Eintrag angezeigt, solange der Anwender nichts ausgewählt hat, wir wollen jedoch, daß der erste Eintrag ("Zählen") ausgewählt ist, daher setzen wir hier zusätzlich die ListIndex-Eigenschaft auf 0.

Das Click-Ereignis sieht exakt aus wie bei unserer Listbox:

     Private Sub cboUebung_Click()
        Select Case cboUebung.ListIndex
        Case 0
            aktiveUebung = "Zählen"         'Uebung merken
            Exit Sub
        Case 1
            MaxErgebnisWert = 9
            MinErgebnisWert = 2
            aktiveUebung = "SymbAddition"   'Uebung merken
            Exit Sub
        Case 2
            aktiveUebung = "Addition"       'Uebung merken
        Case 3
            aktiveUebung = "Subtraktion"    'Uebung merken
        Case 4
            aktiveUebung = "Multiplikation" 'Uebung merken
        Case 5
            aktiveUebung = "Division"       'Uebung merken
        End Select

        fraUebung(0).Visible = False        'aktiven Rahmen unsichtbar machen
        fraUebung(cboUebung.ListIndex - 1).Visible = True 
        'zum Rahmen mit der ausgewählten Rechenart wechseln
     End Sub
 

Auf das Doppelklick-Ereignis verzichten wir in diesem Fall. Und schon fertig! Statt einer großen Liste haben wir jetzt eine platzsparende DropDown-Liste.

Beispielprojekt laden

zurück Index weiter


© Copyright 1998-2000 J.Behling EMail schreiben ABC-Ware's Homepage
Weitergabe und Druck (auch in Teilen, mit Ausnahme von Privatgebrauch) ohne ausdrückliche Genehmigung der Autorin untersagt.