Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
Objekte neu Positionieren |
05.02.2016 15:05:28 |
zm3k |
|
|
|
05.02.2016 16:26:48 |
Gast53790 |
|
|
|
05.02.2016 21:47:11 |
Gast72223 |
|
|
|
06.02.2016 00:37:08 |
Gast76230 |
|
|
|
06.02.2016 11:18:22 |
Gast54793 |
|
|
Von:
zm3k |
Datum:
05.02.2016 15:05:28 |
Views:
1279 |
Rating:
|
Antwort:
|
Thema:
Objekte neu Positionieren |
Hello!
Ich habe ein Problem und zwar :
Ich kann mit einen Button dynamisch erzeugte Objekte erstellen, kurz gesagt ich gebe eine Zahl ein und und die Anzahl der Objekte werden erstellt.
Weiters kann ich die Objekte auch mittels einer Checkbox anklicken und diese dann über einen anderen Button löschen.
Nun zum eigentlichen Problem, ich möchte das die Objekte die nicht gelöscht wurden sich neu Positionieren bekomme das aber nicht hin.
Hier mal mein Code :
Public Sub CommandButton4_Click()
Dim e As Integer
Dim s As Integer
Dim löschnr() As Integer
Dim zähler As Integer
ReDim löschnr(1 To u)
For e = 1 To u 'Variable u ist als Global deklariert und steht in einem Sub ist die Anzahl der erzeugten Elemente
If Me.CheckBox6 = True Then 'is ne checkbox ob objekte erstellt worden sind
Exit Sub
Else
If Controls("cb_gegner" & e) = True Then 'ist die checkbox die sagt ob die objekte in der reihe geköscht wertden sollen
löschnr(e) = e 'war eine idee die ignoert werden kann
MsgBox löschnr(e) ' das selbe wie oben
Controls.Remove (gegnername & e)
Controls.Remove ("tb_angriff_ge_1" & e)
Controls.Remove ("tb_angriff_be_1" & e)
Controls.Remove ("tb_schaden_ge_1" & e)
Controls.Remove ("tb_schaden_be_1" & e)
Controls.Remove ("cb_gegner" & e)
Controls.Remove ("lb_würfel" & e)
Controls.Remove ("lb_würfel1" & e)
Controls.Remove ("1ertxt" & e)
Controls.Remove ("1er" & e)
Controls.Remove ("9er" & e)
Controls.Remove ("10er" & e)
End If
End If
Next e 'löschforgang funktionert
e = e - 1
For s = 1 To u
On Error GoTo nächstesobj: 'da objekte nicht mehr da sind soll ein error kommen und übersprungen werden
'If Controls(gegnername & s).Name = Controls(gegnername & 1).Name Then
'GoTo nächstesobj1:
'End If
Controls(gegnername & s).Top = -12 'das soll die neue position sein da muss ich mich noch angeben welche höhe
MsgBox Controls("tb_angriff_ge_1" & s).Top
Controls("tb_angriff_be_1" & s).Top = Top - 12
Controls("tb_schaden_ge_1" & s).Top = Top - 12
Controls("tb_schaden_be_1" & s).Top = Top - 12
Controls("cb_gegner" & s).Top = Top - 12 'checkbox ob gelscht werden soll
Controls("lb_würfel" & s).Top = Top - 12 'Angriffswurf
Controls("lb_würfel1" & s).Top = Top - 12 'schadenswurf
Controls("1ertxt" & s).Top = Top - 12
Controls("1er" & s).Top = Top - 12 + 4
Controls("9er" & s).Top = Top - 12
Controls("10er" & s).Top = Top - 12
Controls(gegnername & s).Name = gegnername & u - 1
Controls("tb_angriff_ge_1" & s).Name = "tb_angriff_ge_1" & u - 1
Controls("tb_angriff_be_1" & s).Name = "tb_angriff_be_1" & u - 1
Controls("tb_schaden_ge_1" & s).Name = "tb_schaden_ge_1" & u - 1
Controls("tb_schaden_be_1" & s).Name = "tb_schaden_be_1" & u - 1
Controls("cb_gegner" & s).Name = "cb_gegner" & u - 1 'checkbox ob gelscht werden soll
Controls("lb_würfel" & s).Name = "lb_würfel" & u - 1 'Angriffswurf
Controls("lb_würfel1" & s).Name = "lb_würfel1" & u - 1 'schadenswurf
Controls("1ertxt" & s).Name = "1ertxt" & u - 1
Controls("1er" & s).Name = "1er" & u - 1
Controls("9er" & s).Name = "9er" & u - 1
Controls("10er" & s).Name = "10er" & u - 1
nächstesobj:
zähler = zähler + 1 'war eine idee die zählt ob ein objekt gelöscht worden ist um später die höhe zu ermitteln doch so weit binh ich nicht gekommen
nächstesobj1:
Next s
u = u - 1
If e = u Then
Exit Sub
End If
End Sub
Vielleicht kann mir wer helfen ich bin mit meinen kleinen Wissen am Ende
Danke und LG zm3k
|
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
Objekte neu Positionieren |
05.02.2016 15:05:28 |
zm3k |
|
|
|
05.02.2016 16:26:48 |
Gast53790 |
|
|
|
05.02.2016 21:47:11 |
Gast72223 |
|
|
|
06.02.2016 00:37:08 |
Gast76230 |
|
|
|
06.02.2016 11:18:22 |
Gast54793 |
|
|