Hallo,
ich möchte Frame Objekts mit Steuereelemente während Laufzeit anlegen.
Habe hierzu was gefunden (weis aber leider nicht mehr wo) das ich zu m Testen an meine Bedürfnisse angepasst habe.
Es soll folgendes erreicht werden.Zur Laufzeit erzeugen von Frames mit 2 Commandbuttons mit Index und einem Label mit der Ausgabe W + Index.
Leider habe ich einn Problem mit der Ausgabe von Information in einem Label. Ich möchte dort den Index als Bezeichnung mit angeben, das funktioniert auch, bis auf die letzte Labelanweisung (in meinem Besispiel sind das 4 (Frames), hier wird in meinem Beispiel statt W 3 --> W 0 ausgegeben. bei den Commandbuttons funktioniert die Zuweisung.
Im folgenden habe ich den Code eingestellt, vielleicht sieht jemand von Euch den Haken:
Option Explicit
Private Sub Command1_Click(Index As Integer)
MsgBox "cmd Butten 1 mit Index " & Index
End Sub
Private Sub Command2_Click(Index As Integer)
MsgBox "cmd Butten 2 mit Index " & Index
End Sub
Private Sub Form_Load()
Const ABSTAND = 90 ' 90 Twips = 6 Pixel
Const ANZ_RAHMEN = 4 ' Ich möchte hinterher 4 Rahmen sehen
Dim CTL As Control
Dim Index As Integer
For Index = 1 To ANZ_RAHMEN - 1
Load fraMeinRahmen(Index)
fraMeinRahmen(Index).Visible = True
For Each CTL In Me.Controls
If CTL.Container Is fraMeinRahmen(0) Then
Load Me(CTL.Name)(Index)
Label1(Index - 1) = "W " & Index - 1
With Me(CTL.Name)(Index)
Set .Container = fraMeinRahmen(Index)
.Visible = True
End With
End If
Next CTL
Next
fraMeinRahmen(0).Move ABSTAND, ABSTAND
fraMeinRahmen(1).Move fraMeinRahmen(0).Left + fraMeinRahmen(0).Width + ABSTAND, ABSTAND
fraMeinRahmen(2).Move fraMeinRahmen(0).Left, fraMeinRahmen(0).Top + fraMeinRahmen(0).Height + ABSTAND
fraMeinRahmen(3).Move fraMeinRahmen(1).Left, fraMeinRahmen(2).Top
End Sub
Gruß
hkp
p.s. wie bekommt man eigentlich den Code im entsprechenden Fenster angezeigt.
ich möchte Frame Objekts mit Steuereelemente während Laufzeit anlegen.
Habe hierzu was gefunden (weis aber leider nicht mehr wo) das ich zu m Testen an meine Bedürfnisse angepasst habe.
Es soll folgendes erreicht werden.Zur Laufzeit erzeugen von Frames mit 2 Commandbuttons mit Index und einem Label mit der Ausgabe W + Index.
Leider habe ich einn Problem mit der Ausgabe von Information in einem Label. Ich möchte dort den Index als Bezeichnung mit angeben, das funktioniert auch, bis auf die letzte Labelanweisung (in meinem Besispiel sind das 4 (Frames), hier wird in meinem Beispiel statt W 3 --> W 0 ausgegeben. bei den Commandbuttons funktioniert die Zuweisung.
Im folgenden habe ich den Code eingestellt, vielleicht sieht jemand von Euch den Haken:
Option Explicit
Private Sub Command1_Click(Index As Integer)
MsgBox "cmd Butten 1 mit Index " & Index
End Sub
Private Sub Command2_Click(Index As Integer)
MsgBox "cmd Butten 2 mit Index " & Index
End Sub
Private Sub Form_Load()
Const ABSTAND = 90 ' 90 Twips = 6 Pixel
Const ANZ_RAHMEN = 4 ' Ich möchte hinterher 4 Rahmen sehen
Dim CTL As Control
Dim Index As Integer
For Index = 1 To ANZ_RAHMEN - 1
Load fraMeinRahmen(Index)
fraMeinRahmen(Index).Visible = True
For Each CTL In Me.Controls
If CTL.Container Is fraMeinRahmen(0) Then
Load Me(CTL.Name)(Index)
Label1(Index - 1) = "W " & Index - 1
With Me(CTL.Name)(Index)
Set .Container = fraMeinRahmen(Index)
.Visible = True
End With
End If
Next CTL
Next
fraMeinRahmen(0).Move ABSTAND, ABSTAND
fraMeinRahmen(1).Move fraMeinRahmen(0).Left + fraMeinRahmen(0).Width + ABSTAND, ABSTAND
fraMeinRahmen(2).Move fraMeinRahmen(0).Left, fraMeinRahmen(0).Top + fraMeinRahmen(0).Height + ABSTAND
fraMeinRahmen(3).Move fraMeinRahmen(1).Left, fraMeinRahmen(2).Top
End Sub
Gruß
hkp
p.s. wie bekommt man eigentlich den Code im entsprechenden Fenster angezeigt.