VB 6.0 Picture Box mit 2 Zuständen

hkp

Grünschnabel
Hallo,

ich möchte gerne folgendes hinbekommen:

Eine Oberfläche mit 2 Zuständen in der Laufzeit.

Zustand 1: Eine Picture Box mit einer bmp (z:B sei eine Straßenkreuzung dargestellt)
Ich möchte jetzt gerne Objekte plazieren (z.B die bmp' s von Ampeln), diesen
Objekten sollen Eigenschaften zugewiesen werden können (zB. Objekt ist
Ampel Nr.1 bis n),und diese Objekte sollen verschiebbar bleiben.
-----> nach dem Plazieren der Objekte soll der Zustand gespeichert werden.

Zustand 2: Der in 1 gespeicherte Zustand soll jetzt quasi eingefroren dargestellt werden.
Ich will sagen im Bspl. ist jetzt die Straßenkreuzung und die Ampeln zu
sehen. Die Ampeln können jetzt aber nicht verschoben werden. Wenn man
aber auf die grüne oder rote Lampe drückt soll es z.B. den Zustand Ampel:_1
fahre oder stehen geben.

Kann mir vielleicht jemand einen Rat oder Tip geben wie oder wo ich suchen kann (Literatur/ WWW) um eine Lösung für mein o.g. Problem zu finden.


Grüße

hkp
 
Du hast nur beschrieben was du machen möchtest. Aber wobei hast du denn nun konkret Schwierigkeiten?
 
meine Schwierigkeiten sind

1). erstellen der verschiebbaren Bitmaps (z.B. Ampeln) und
Zuweisung der Eigenschaft (z.B. =Ampel_1) so das ich
im Zustand 2 dies abfragen kann

2). das speichern/erstellen der Ansicht (Bitmap + Objekte)
so das es im Zustand 2 möglich ist die vorher erzeugten
Objekte wie Command-Buttons zu benutzen.
 
hkp hat gesagt.:
meine Schwierigkeiten sind

1). erstellen der verschiebbaren Bitmaps (z.B. Ampeln) und
Zuweisung der Eigenschaft (z.B. =Ampel_1) so das ich
im Zustand 2 dies abfragen kann

2). das speichern/erstellen der Ansicht (Bitmap + Objekte)
so das es im Zustand 2 möglich ist die vorher erzeugten
Objekte wie Command-Buttons zu benutzen.

Hatte noch vegessen, zu sagen, das der Zustand der Objekte
(z.B. rot oder grün leuchtet) dargestellt wird.
 
Hallo,

Habe mir zu meinem vorgehen folgendes überlegt:
Grundsätzlich eine Aufteilung in 2 Programme.

Zustand 1 = Entwurfsmodus. Hier werden die darzustellenden Objekte platziert und diese Info (Name und Koordinaten) in eine Datei geschrieben. Zusätzlich notwendige Infos können dan dort ergänzt werden.

Zustand 2 = Proramm 2 ausführen mit in 1 gemachten Daten.

Zu folgendem vorgehen habe ich eine Frage (s.a. Code)

Ich möchte zur Laufzeit die notwendige Anzahl an weiteren Buttons erzeugen. Im folgenden Code habe ich das exemplarisch mit 3 Stück mal probiert. Nur hätte ich gerne das ganze in einer Zählschleife um nicht unzählige case oder Button Definitionen zu schreiben. Ist das überhaupt machbar und wenn ja habt Ihr mir vielleicht eine Vorschlag wie das gehen könnte.


Public Sub btnR_Click(index As Integer)

Select Case index
Case 1
MsgBox "Ampel 1"
Case 2
MsgBox "Ampel 2"
Case 3
MsgBox "Ampel 3"
Case 4

End Select

End Sub


Private Sub btnStart_Click()
Dim J As Long

' --- erzeugen von 3 weiteren Buttons
For J = 1 To 3
Load btnR(J)
Next

' -------------------------- die Eigenschaften für jeden Button festlegen
' --- Button 1
With btnR(1)
.Left = 2400
.Top = 300
.Caption = "X1"
.Visible = True
End With

' --- Button 2
With btnR(2)
.Left = 3300
.Top = 300
.Caption = "X2"
.Visible = True
End With

' --- Button 3
With btnR(3)
.Left = 4200
.Top = 300
.Caption = "X3"
.Visible = True
End With

End Sub



Gruß

hkp
 
Geht ganz einfach:

Code:
Public Sub btnR_Click(index As Integer)
  MsgBox "Ampel " & index
End Sub
 
 
Private Sub btnStart_Click()
Dim J As Long
 
For J = 1 To 3
  Load btnR(J)
  With btnR(J)
	.Left = 2400 + (J-1)*900
	.Top = 300
	.Caption = "X" & J
	.Visible = True
  End With
Next
 
Danke,

melde mich erst jetzt, war ein paar Tage verreist.

Das hilft mir schon weiter.

Frage kann man eigentlich auch die case-Anweisung in eine Schleife packen?

Gruß

hkp
 
Wie willst du die Case-Anweisung in eine Schleife packen? Was genau soll passieren? Oder hast du blos übersehen, dass meine ersten drei Code-Zeilen deine Case-Anweisung komplett ersetzen?
 
Sorry,

habe Deine Zeilen überflogen aber nicht richt gelesen.

Ich denke aber das es so ist wie ich mir es vorstelle. Habe hier leider kein VB, werde mich heute Abend oder morgen früh nochmals melden. Danke für Deine Mühen.

Grüße

hkp
 
Zurück