Bewegte Bitmaps/Icons


Visual Basic wird mit Beispielprogrammen ausgeliefert, die Möglichkeiten zur Programmierung von Bildsequenzen (Bitmaps) zeigen. Im VB-Verzeichnis unter Samples\CompTools\PicClip\Redtop.vbp ist ein solches Programm enthalten.

Welche Möglichkeiten gibt es und wie geht man vor?

Geeignete Bild-Folgen werden im Formularentwurf gespeichert, dazu gibt es drei Möglichkeiten:

1. Weg: Es wird ein Image oder Picture-Feld angelegt

Also: Einfügen, kopieren, wieder einfügen, Frage nach Anlage eines Steuerelementefeldes bejahen, anschließend durch wiederholtes Einfügen soviele Felder erzeugen, wie nötig. Geeignete Bitmap-Folgen einfügen (Eigenschaft Picture im Eigenschaftenfenster).
Der spätere Aufruf erfolgt wie üblich mit "Steuerelementename(Nummer).Picture"

Beispielcode:
Seien 10 Bitmaps in den Feldern Image1(0) bis Image1(9) geladen, könnte eine Timer-Routine wie folgt aussehen. In diesem Falle muß die Zählvariable i außerhalb der Timer-Subroutine deklariert werden. Warum?

Private Sub Timer1_Timer()
i = i + 1
if i = 10 then i = 0
Picture1.Picture= Image1(i).Picture
End Sub

2. Weg: Steuerelement "PictureClip"

Um die unbequeme Arbeit des Anlegens und Füllens eines Picture- oder Image-Feldes zu sparen, gibt es ein eigenes Steuerelement Namens "PictureClip". Über das Menü "Projekt/Komponenten" kann man das Steuerelement "Microsoft Picture Clip Control 5.0 (SP2)" nachladen. Im Eigenschaftsfenster unter "Benutzerdefiniert" kann man Spalten- und Zeilenzahl einer Tabelle einstellen, die über ein zu ladendes Bitmap gelegt wird, welches die Bildfolge enthält und dann wieder in die gewünschten Teile zerschnitten wird. Der Aufruf erfolgt dann ähnlich wie oben (Die Tabelle enthalte 5*4 Zellen):

Private Sub Timer1_Timer()
i = i + 1
if i = 20 then i = 0
Picture1.Picture= PictureClip1.GraphicCell(i)
End Sub

3. Weg: Bewegtes Icon

Bewegte Bitmaps können außer in Formularen auch als Icon verwendet werden. In diesem Falle erfolgt der Aufruf z.B. in einer Timer-Routine als "Form1.Icon = Image1(y).Picture". Interessant ist, daß dieses bewegte Icon auch dann angezeigt wird, wenn das Programmfenster im Hintergrund läuft und das zugehörige Formular minimiert ist.


© R. Hirte * 2001/2004