Rubrik: Controls · Sonstiges | VB-Versionen: VB5, VB6 | 02.02.04 |
Steuerelementfeld an Prozedur übergeben Auch Steuerelementfelder (Control-Arrays) lassen sich an Prozeduren übergeben. Wie? Das erfahren Sie hier. | ||
Autor: Dieter Otter | Bewertung: | Views: 13.896 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
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