Ich benutze momentan ein Skin für mein Fenster und würde es gern mit Animationen versehn. Z.b.: ein gesicht das zwinkert.
Deswegen dacht ich mir ein bmp über den hintergrun des Fenster anzeigen zu lassen. Mit tranzparens: Nur der Code will nicht so recht. Und er leuft leider auch nicht mit SkinWin.
Ich will halt nur einen kleinen teil des Hintergrunds Animieren.
Versuchs Code:
Code: Alles auswählen
Global window.l
Procedure createimage_(image)
hbimglist=CreateImage(image, 300, 200)
StartDrawing(ImageOutput(image))
DrawingMode(#PB_2DDrawing_Transparent)
BackColor(RGB(0,155,155))
FrontColor(RGB(255,0,0))
DrawText(100,100+Random(50),"test")
StopDrawing()
ProcedureReturn hbimglist
EndProcedure
Procedure Animation()
ptst.PAINTSTRUCT
himglist=ImageList_Create_(300,200,#ILC_COLOR8|#ILC_MASK,1,0)
ImageList_AddMasked_(himglist,createimage_(0),RGB(0,0,0))
hdc=BeginPaint_(window,@ptst)
ImageList_Draw_(himglist,0,hdc,100,100,#ILD_TRANSPARENT)
EndPaint_(window,@ptst)
ImageList_Destroy_(himglist)
EndProcedure
window = OpenWindow(0, 0, 0, 640, 480, "", #PB_Window_ScreenCentered )
Repeat
Delay(100)
Animation()
Until Event = #PB_Event_CloseWindow
Ich weis nicht ob das nit SkinWin gut währ jedesmal den kompleten hinter grund neu zu laden. Zumal das auch mehhre hintergrund bilder pro fenster währen.