| Set, ReDim |
| |
| |
| Private Feld() As Picture | Eine dynamische Feldvariable wird zunächst ohne |
| Const Pfad = "d:\graphics\wmf\" | Angabe von Feldgrenzen deklariert (siehe weiter |
| unten: ReDim). |
| Private Sub Form_Load() | |
| Dim n As Long, m As Long, XPos As Single, YPos As Single |
| Dim Breite As Single, Höhe As Single, Abstand As Single, SteinNr As Long |
| On Error Resume Next | Programm stürzt ab, wenn zu viele Bilder geladen werden. |
| |
| Call BilderEinlesen | |
| Const MaxX = 5 | Steine in horizontaler Richtung. |
| Const MaxY = 6 | Steine in vertikaler Richtung. |
| |
| Breite = Me.ScaleWidth / MaxX | Breite der Steine berechnen. |
| Abstand = Breite / 100 * 10 | Abstand der Steine berechnen. |
| Breite = Breite - Abstand - ((Abstand / MaxX) + 2) | |
| Höhe = Me.ScaleHeight / MaxY | Höhe der Steine berechnen. |
| Höhe = Höhe - Abstand - ((Abstand / MaxY) + 2) | |
| |
| picStein(0).Top = Abstand | Positionen des ersten Steins setzen. |
| picStein(0).Left = Abstand | |
| picStein(0).Width = Breite | |
| picStein(0).Height = Höhe | |
| picStein(0).AutoRedraw = True | |
| picStein(0).Picture = Feld(0) | |
| picStein(0).Print 1 | |
| YPos = picStein(0).Top | |
| For n = 0 To MaxY - 1 | Nun alle übrigen Steine auf dem Formular anordnen. |
| XPos = picStein(0).Left | |
| For m = 0 To MaxX - 1 | |
| SteinNr = n * MaxY + m | |
| If SteinNr > 0 Then | |
| Load picStein(SteinNr) | Nächsten Stein laden. |
| picStein(SteinNr).Visible = True | Eigenschaften des geladenen Steuerelements setzen. |
| picStein(SteinNr).AutoRedraw = True | Eigentlich nicht notwendig (Bild wird auch so geladen). |
| picStein(SteinNr).Left = XPos | |
| picStein(SteinNr).Top = YPos | |
| picStein(SteinNr).Picture = Feld(SteinNr) |
| picStein(SteinNr).Print SteinNr + 1 |
| End If |
| XPos = XPos + Breite + Abstand |
| Next |
| YPos = YPos + Höhe + Abstand |
| Next |
| End Sub |
|
| Private Sub BilderEinlesen() |
| Dim Dateiname As String, Zähler As Long | |
| Dateiname = Dir(Pfad & "*.wmf") | Pfadangaben. |
| ReDim Feld(0 To 3) | ReDim legt dann die tatsächliche Anzahl an Elementen in |
| Do | einem dynamischen Feld fest und löscht die dynamische |
| Set Feld(Zähler) = LoadPicture(Pfad & Dateiname) | Feldvariable. |
| If Zähler = UBound(Feld) Then ReDim Preserve _ | Preserve sorgt dafür, dass die dynamische Feldvariable |
| Feld(0 To Zähler + 3) | nicht gelöscht wird. |
| Dateiname = Dir() | |
| If Dateiname = "" Then Exit Do | |
| Zähler = Zähler + 1 | |
| Loop | |
| End Sub | |
| |