Array definieren mal anderst
Arrays werden entweder per Array() Anweisung definiert, oder auch durch den Split() Befehl.
Auf eine andere bzw. erweiterte Möglichkeit bin ich kürzlich gestoßen beim Entwickeln eines Benutzersteuerelementes mit VB6.
Dort ging es u.a. darum, Steuerelemente beim Klick auf einen Button zu plazieren und sichtbar zu machen.
Die Größe und Position der Steuerelemente habe ich dabei wie folgt definiert:
Private Sub Form_Open(Cancel As Integer) Dim sizeArr(8) As Variant Dim i As Long sizeArr(0) = Array("cmdClose", 2350, 23, 306, 975) sizeArr(1) = Array("Linie1", 47, 2412, 2066, 2066) sizeArr(2) = Array("Linie2", 47, 2412, 697, 697) sizeArr(3) = Array("lblMonat", 23, 47, 454, 2381) sizeArr(4) = Array("zurueck", 142, 120, 227, 227) sizeArr(5) = Array("vor", 142, 2160, 227, 227) sizeArr(6) = Array("MonatJahr", 120, 480, 255, 1575) sizeArr(7) = Array("Heute", 2066, 47, 255, 2381) sizeArr(8) = Array("Rechteck1", 23, 47, 2280, 2381)
Das bedeutet also, jedem einzelnen Array-Element wurde ein weiteres Array zugewiesen.
Der Zugriff auf einen bestimmten Wert, z.B. auf „lblMonat“ lautet dann: sizeArr(3)(0)
Und um wieder zum Beispiel aus der Praxis zurückzukommen, hier der restliche Code, der die Steuerelemente dimensioniert, positioniert und sichtbar schaltet:
For i = LBound(sizeArr) To UBound(sizeArr) With Controls(sizeArr(i)(0)) .Top = sizeArr(i)(1) .Left = sizeArr(i)(2) .Height = sizeArr(i)(3) .Width = sizeArr(i)(4) .Visible = True End With Next i End Sub
Bis dahin
© 2014 Andreas Vogt