Gadgets werden überlicherweise immer korrekt restauriert. Warum hier nicht? Gibt es ein Workaround? Vorschläge willkommen.
Gruß
Andi
Code: Alles auswählen
; German forum: http://robsite.de/php/pureboard/viewtopic.php?t=1480&start=10&postdays=0&postorder=asc&highlight=
; Author: Danilo
; Date: 26. June 2003
;
; by Danilo, 26.06.2003 - german forum
;
FileName$ = OpenFileRequester("Open","","Movies - AVI,MPG|*.avi;*.mpg",1)
If FileName$
If InitMovie()
OpenWindow(1,200,200,300,300,#PB_WINDOW_SYSTEMMENU,"MoviePlay-Test")
CreateGadgetList(WindowID())
ImageGadget(2,5,5,300,290,0,#PB_Image_Border)
If LoadMovie(1,FileName$)=0
MessageRequester("ERROR","Cant load movie !",#MB_ICONERROR):End
EndIf
ResizeWindow(MovieWidth()+10,MovieHeight()+55)
ResizeGadget(2,5,5,MovieWidth(),MovieHeight())
Length = MovieLength()
FPS = MovieInfo(0) / 1000
MHeight = MovieHeight()
MWidth = MovieWidth()
TrackBarGadget(1,5,MHeight+10,MWidth-50,20,1,Length/FPS)
TextGadget(3,MWidth-45,MHeight+10,50,20,"0",#PB_Text_Right)
ButtonGadget(4,5,MHeight+35,60,20,"Pause")
ButtonGadget(5,70,MHeight+35,60,20,"Stop")
PlayMovie(1,GadgetID(2))
Repeat
Select WindowEvent()
Case #PB_Event_CloseWindow : End
Case #PB_Event_Gadget
Select EventGadgetID()
Case 1 ; Trackbar
;Debug EventType()
;If EventType()=-1
MovieSeek(GetGadgetState(1)*FPS)
;Beep_(800,10)
;EndIf
Case 4 ; Pause
If GetGadgetText(4)="Pause"
PauseMovie()
SetGadgetText(4,"Resume")
Else
ResumeMovie()
SetGadgetText(4,"Pause")
EndIf
Case 5 ; Stop
StopMovie()
MovieSeek(1)
EndSelect
;SetFocus_(WindowID())
Default
Delay(1)
x = MovieStatus()
If x => 0
SetGadgetState(1,x/FPS)
SS = Int(x / FPS) : While SS > 59:SS-60:Wend
MM = Int(x / FPS / 60) : While MM > 59:MM-60:Wend
HH = Int(x / FPS / 60 / 60) : While HH > 59:HH-60:Wend
If oldSecond <> SS
SetGadgetText(3,RSet(StrU(HH,2),2,"0")+":"+RSet(StrU(MM,2),2,"0")+":"+RSet(StrU(SS,2),2,"0"))
oldSecond = SS
EndIf
EndIf
UpdateWindow_(WindowID())
EndSelect
ForEver
Else
MessageRequester("ERROR","Cant init movie engine !",#MB_ICONERROR):End
EndIf
EndIf
; ExecutableFormat=Windows
; FirstLine=1
; EnableXP
; EOF