die UF erscheint , aber nur als weiße Fläche, mal von Titel und Schließkeuz abgesehen, warum das denn?
Option Explicit
Option Base 1
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub Bild()
Dim nr As Byte, Verzeichnis As String, Bilddatei, merker
Verzeichnis = "C:\Dokumente und Einstellungen\All Users\Dokumente\Eigene Bilder\Beispielbilder\"
Bilddatei = Array("Sonnenuntergang", "Blaue Berge", "Winter")
nächstes:
nr = nr + 1
If nr = 4 Then nr = 1
merker = Timer
UserForm1.Image1.Picture = LoadPicture(Verzeichnis & Bilddatei(nr) & ".jpg")
Sleep 10000 'Wartezeit in Millisekunden
UserForm1.Image1.Picture = LoadPicture("")
GoTo nächstes
End Sub
Sub zeigen()
UserForm1.Show vbModeless
Call Bild
End Sub
Wenn ich die Zeilen:
UserForm1.Image1.Picture = LoadPicture(Verzeichnis & Bilddatei(nr) & ".jpg")
Sleep 10000 'Wartezeit in Millisekunden
UserForm1.Image1.Picture = LoadPicture("")
GoTo nächstes
auskommentiere wird zumindest das erste Bild angezeigt.
Nachfolgenden Code fand ich im Internet, blicke da nicht ganz durch,
wie kann ich den einbinden bzw. benutzen?
Danke ^ Gruß
Reinhard
Du könntest jedoch den API_Timer nutzen, dann würde der Thread nicht
blockiert. Die Funktion sleep_t kehrt nach der angegebenen Zeit zurück.
Rückgabewert ist True, falls erfolgreich.
Declare Function SetTimer Lib "user32" Alias "SetTimer" _
(ByVal hWnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, _
ByVal lpTimerFunc As Long) As Long
Declare Function KillTimer Lib "user32" Alias "KillTimer" _
(ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
Private TimerID as long
public Function sleep_t(dwMilliSeconds as long) as Boolean
TimerID = SetTimer(0&, 0&, dwMilliSeconds, AddressOf TimerProc)
sleep_t = (TimerID <> 0)
do
doEvents
loop until TimerID = 0
End Function
Sub TimerProc(ByVal hwnd As Long, ByVal nIDEvent As Long, _
ByVal uElapse As Long, ByVal lpTimerFunc As Long)
KillTimer 0&, TimerID
TimerID = 0
End Sub