Arbeiten mit Steuerelementefeldern

Ein Steuerelementefeld ist eine Gruppe von Steuerelementen, die denselben Namen und denselben Typ haben und auch dieselben Ereignisprozeduren verwenden. Ein Steuerelementefeld besteht aus mindestens einem Element. Die maximale Anzahl an Elementen ist nur durch die Systemressourcen und den Arbeitsspeicher. Der maximale Index­wert, den Sie in einem Steuerelementefeld verwenden können, ist 32767. Jedes Element eines Steuerelementefeldes hat dabei eigene Eigenschaftseinstellungen. Steuerelementefelder werden häufig für Menü-Steuerelemente (Menu) und Optionsfeldgruppen verwendet.

Warum sollten Sie Steuerelementefelder verwenden?

Beim Hinzufügen von Steuerelementen mit Hilfe von Steuerelementefeldern werden weniger Ressourcen in Anspruch genommen als beim einfachen Hinzufügen mehrerer Steuerelemente desselben Typs zur Entwurfszeit zu einem Formular. Steuerelementefelder sind auch hilfreich, wenn Sie Code für mehrere Steuerelemente gemeinsam nutzen möchten. Wenn Sie beispielsweise drei Optionsfelder als Steuerelementefeld erstellen, wird unabhängig vom gewählten Optionsfeld immer derselbe Code ausgeführt.

Wenn Sie zur Laufzeit ein neues Steuerelement erstellen möchten, muss dieses neue Steuerelement zu einem Steuerelementefeld gehören. Als Bestandteil eines Steuerelementefelds verwendet jedes neue Element die für das Feld gemeinsam geltenden Ereignisprozeduren.

Ohne den Mechanismus des Steuerelementefeldes ist das Erstellen von Steuerelementen zur Laufzeit nicht möglich, da ein völlig neues Steuerelement keine Ereignisprozeduren hätte. Steuerelementefelder lösen dieses Problem, weil jedes neue Steuerelement auf die gemeinsamen Ereignisprozeduren zugreift, die bereits für das Steuerelementefeld geschrieben wurde.

Erstellen eines Steuerelementefeldes zur Entwurfszeit

Man wählt das Container-Objekt aus, in dem das Steuerelementefeld placiert werden soll. Das kann ein Formular, ein Rahmen oder ein Bildfeld sein.

Man erstellt im Container-Objekt ein Exemplar des Steuerelements und setzt die Eigenschaften, die für alle Steuerelemente des Feldes gelten sollen.

Das erste Steuerelement wird markiert, in die Zwischenablage kopiert, das Container-Objekt markiert und eine Kopie des ersten Steuerelements aus der Zwischenablage eingefügt. Die Rückfrage, ob man ein Steuerelementefeld erstellen möchte, ist mit Ja zu beantworten.

Alle auf diese Weise erstellten Elemente des Steuerelementefeldes erhalten den gleichen Namen, aber einen unterschiedlichen Index 0, 1 ,2, etc. Danach können die abweichenden Eigenschaftswerte der einzelnen Elemente gesetzt werden.

Erstellen eines Steuerelementefeldes zur Laufzeit

Man erstellt im Container-Objekt ein Exemplar des Steuerelements und setzt die Eigenschaften, die für alle Steuerelemente des Feldes gelten sollen.

Man setzt die Index-Eigenschaft auf 0.

Im Programmcode erstellt man die anderen Elemente des Steuerelementefeldes mit der Anweisung:

·      Load Steuerelementname(Index)

Angezeigt werden die Steuerelemente erst durch Setzen ihrer Visible-Eigenschaft auf True per Code.

·      Steuerelementname(Index).Visible = True

Abbildung 11:   Beispiel für Steuerelementefelder

Beispielanwendung: Calc.vbp

Die Beispielanwendung "Taschenrechner" enthält zwei Steuerelementefelder
- die Zifferntasten und die Operatortasten.
Sie finden diese Anwendung im Unterverzeichnis \Calc des Hauptverzeichnisses von Visual Basic (VB\Samples\Pguide).