| Rubrik: Controls · Sonstiges | VB-Versionen: VB5, VB6 | 02.02.04 |
Steuerelementfeld an Prozedur übergebenAuch Steuerelementfelder (Control-Arrays) lassen sich an Prozeduren übergeben. Wie? Das erfahren Sie hier. | ||
| Autor: | Bewertung: | Views: 14.412 |
| https://www.tools4vb.com | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | |
Hin und wieder kommt es vor, dass man Eigenschaften für ein gesamtes Steuerelementfeld festlegen will. Beispielsweise möchte man alle Textfelder eines Control-Arrays auf Knopfdruck aktivieren/deaktivieren. Oftmals verwendet man dann hierfür folgenden Code:
Dim i As Long For i = 0 To Text1.UBound Text1(i).Enabled = True ' False Next i
Benötigt man diesen Code öfters in seinem Projekt sollte man diesen in einer öffentlichen Prozedur in einem Modul "ablegen". Stellt sich jetzt nur die Frage, wie man das Steuerelementfeld (Control-Array) an die Prozedur übergibt.
Glücklicherweise gibt es in Visual Basic hierfür den Datentyp Variant 
Public Sub EnableControls(oControls As Variant, _ ByVal bEnabled As Boolean) Dim oControl As Control ' alle Controls des Control-Arrays durchlaufen For Each oControl In oControls oControl.Enabled = bEnabled Next End Sub
Der Aufruf erfolgt dann wie folgt:
EnableControls Text1, True
Oder auch:
EnableControls Text1(), True


Steuerelementfeld an Prozedur übergeben