Hab schon wieder mal eine Frage.
Möchte nämlich die Rechtecke bewen lassen und wenn sie zu nahe am Rand sind, sollen sie sich in die andere Richtung bewegen. Aber wenn man das Programm dann auf einem anderen Bildschirm testet, ändert sich ja die Bildschirmgröße. Deshalb kann man es ja nicht mit festen Werten machen.
Kann man die Bildschirmgröße berechnen lassen?
David_pb
Ja, Twips... Du kannst das glaub ich auch in andre Metriken umstellen.
Corny
Ich meine natürlich Twips nicht mm
Corny
Hey.
Ja stimmt, der hat die Werte übersprungen. Mit kleiner gleich funktioniert es. Hab auch gedacht, dass die Angaben in cm sind, dabei sind sie in mm.
Vielen Dank
David_pb
Wenn du auf Gleichheit Testest ist es wahrscheinlich, das du den Zeitpunkt verpasst, wenn deine Bewegung nicht Pixelweisse ist. Nimm lieber die Operatoren für "Kleiner Gleich" und "Größer Gleich".
Corny
Ich bin jetzt schon wieder auf ein Problem gestoßen.
Meine Rechtecke sollen sich nun beliebig auf dem Bildschirm bewegen. Das klappt ganz gut. Nur hab ich das Problem, dass die Rechtecke sich aus dem Bildschirm bewegen und man dann erst nach unten Scrollen muss, um sie weider zu sehen.
Hab mir überlegt, dass ich die maximalen Werte für den Bildschrim festlegen muss.
Das j bezeichnet das enstprechende Rechteck und das i wird durch eine Schleife vergrößert, dass die Bewegung gleichmäßig verläuft.
Quad(j).Move Quad(j).Left + 3 * i, Quad(j).Top - 20 * i
If Quad(j).Top = 0 then
Exit Function
End If
Wie kann ich jetzt maximalen Werte für die Bewegung festlegen? Weil so wie ich es mir gedacht hab in die If-Anweisung zu schreiben klappts leider nicht.
Corny
Des sind einfach aufgezogene Rechtecke, die ich durch eine Randomize funktion sichtbar machen möchte.
Aber es klappt wie du es geschrieben hast, wenn ich es nur mit Array schreibe.
Der Link war auch toll.
Hast mir sehr weitergeholfen.
Danke
David_pb
Was für Rechtecke sind das denn?
code:
1:
2:
Quad=Array(R0,R1,R2,R3,R4....,R35)
Dies füllt dein Array ja bereits, du brauchst die einzelnen Einträge also nicht nochmals zu zuweisen.
Zitat:
Möchte es auch noch global haben. Also müsste ich es ja direkt oben unter Option Explicit schreiben oder?
Hallo
Ich benötige eure Hilfe.
Ich möchte 36 Rechtecke zu einem Array zusammenfassen. Hab mir folgendes überlegt.
Meine Rechtecke haben den Namen R0,R1,R2......
Dim Quad(35) As Control
Quad=Array(R0,R1,R2,R3,R4....,R35)
Set Quad(0) =R0
Set Quad(1)=R1
Set Quad(2)=R2
.
.
.
Set Quad(35)=R35
Kann man das auch kürzer schreiben, z.B. mit einer Schleife.
Möchte es auch noch global haben. Also müsste ich es ja direkt oben unter Option Explicit schreiben oder?