
Je viens de parcourrir quelques petites choses dans la partie "aide" de PB 5.11,
puis dans la rubrique 2DDrawing on lit un moment donné la constante "#PB_Event_Repaint"
sans exemple d'utilisation

pourrais je avoir vos lumières

C'est pour peindre ?Fortix a écrit :constante "#PB_Event_Repaint"
Code : Tout sélectionner
CreateImage(0, 100,100)
StartDrawing(ImageOutput(0))
Box(0, 0, 100, 100, RGB(255, 255, 255))
StopDrawing()
If OpenWindow(0, 0, 0, 200, 100, "", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ButtonGadget(0,120,40,20,20,"ici")
ImageGadget(0,0,0,100,100,ImageID(0))
Repeat
Event = WaitWindowEvent()
WindowID = EventWindow()
GadgetID = EventGadget()
EventType = EventType()
StartDrawing(ImageOutput(0))
;Box(0, 0, 200, 200, RGB(255, 255, 255))
For Angle = 0 To 360 Step 45
DrawRotatedText(0, 0," ^", Angle, RGB(0, 255, 0))
Delay(125)
Next Angle
For Angle2 = 0 To 360 Step 45
DrawRotatedText(0, 0," ^", Angle2, RGB(255, 255, 255))
Delay(125)
Next Angle2
StopDrawing()
Select GadgetID
Case 0
MessageRequester("tst","tst")
EndSelect
Select Event
Case #PB_Event_Repaint
Case #PB_Event_CloseWindow
close.b=#True
EndSelect
Until close
; StopDrawing()
EndIf
End
Code : Tout sélectionner
CreateImage(0, 100,100)
StartDrawing(ImageOutput(0))
Box(0, 0, 100, 100, RGB(255, 255, 255))
StopDrawing()
If OpenWindow(0, 0, 0, 400, 400, "", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ButtonGadget(0,120,40,20,20,"ici")
ImageGadget(1,0,0,100,100,ImageID(0))
AddWindowTimer(0, 0, 100)
Repeat
Event = WaitWindowEvent()
WindowID = EventWindow()
GadgetID = EventGadget()
EventType = EventType()
Select Event
Case #PB_Event_Timer
If StartDrawing(ImageOutput(0))
Box(0, 0, 200, 200, RGB(128, 128, 128))
Angle + 10
DrawRotatedText(50, 50, " ^", Angle, RGB(255, 255, 255))
StopDrawing()
SetGadgetState(1, ImageID(0))
EndIf
Case #PB_Event_Gadget
Select GadgetID
Case 0
MessageRequester("tst","tst")
EndSelect
Case #PB_Event_CloseWindow
close = #True
EndSelect
Until close
EndIf
End
Code : Tout sélectionner
CreateImage(0, 100,100)
StartDrawing(ImageOutput(0))
Box(0, 0, 100, 100, RGB(255, 255, 255))
StopDrawing()
If OpenWindow(0, 0, 0, 400, 100, "", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ButtonGadget(0,120,40,20,20,"ici")
TextGadget(2,200,40,70,20,"----")
ImageGadget(1,0,0,100,100,ImageID(0))
AddWindowTimer(0, 0, 100)
Repeat
Event = WaitWindowEvent()
WindowID = EventWindow()
GadgetID = EventGadget()
EventType = EventType()
Select Event
Case #PB_Event_Timer
If StartDrawing(ImageOutput(0))
Box(0, 0, 100, 100, RGB(255, 255, 255))
; For Angle0 = 0 To 360 Step 45
; DrawRotatedText(50, 50," ^", Angle0, RGB(0, 128, 0))
; Next Angle0
Angle + 45
DrawRotatedText(50, 50, " ^", Angle, RGBA(255,128,0,255))
DrawRotatedText(50, 50, " ^", Angle-90, RGBA(255,128,0,192))
DrawRotatedText(50, 50, " ^", Angle-135, RGBA(255,128,0,128))
DrawRotatedText(50, 50, " ^", Angle-180, RGBA(255,128,0,64))
DrawRotatedText(50, 50, " ^", Angle-225, RGBA(255,128,0,32))
DrawRotatedText(50, 50, " ^", Angle-270, RGBA(255,128,0,16))
DrawRotatedText(50, 50, " ^", Angle-315, RGBA(255,128,0,8))
DrawRotatedText(50, 50, " ^", Angle-360, RGBA(255,128,0,4))
StopDrawing()
SetGadgetState(1, ImageID(0))
EndIf
Case #PB_Event_Gadget
Select GadgetID
Case 0
SetGadgetText(2,"Action!")
EndSelect
Case #PB_Event_CloseWindow
close = #True
EndSelect
Until close
EndIf
End
Code : Tout sélectionner
CreateImage(0, 100,100)
StartDrawing(ImageOutput(0))
Box(0, 0, 100, 100, RGB(255, 255, 255))
StopDrawing()
If OpenWindow(0, 0, 0, 400, 100, "", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ButtonGadget(0,120,40,20,20,"ici")
TextGadget(2,200,40,70,20,"----")
ImageGadget(1,0,0,100,100,ImageID(0))
AddWindowTimer(0, 0, 50)
Repeat
Event = WaitWindowEvent()
WindowID = EventWindow()
GadgetID = EventGadget()
EventType = EventType()
Select Event
Case #PB_Event_Timer
If StartDrawing(ImageOutput(0))
Box(0, 0, 100, 100, RGB(255, 255, 255))
; ************* variante possible *************************************
; For Angle0 = angle To 360+angle Step 45
; linexy(50,50,50+sin(angle*(3.14159/180))*100,50+cos(angle*(3.14159/180))*100,0)
; Next Angle0
; ********************************************************************
For Angle0 = angle To 360+angle Step 45
linexy(50-sin(angle*(3.14159/180))*100,50-cos(angle*(3.14159/180))*100,50+sin(angle*(3.14159/180))*100,50+cos(angle*(3.14159/180))*100,0)
Next Angle0
Angle + 30
StopDrawing()
SetGadgetState(1, ImageID(0))
EndIf
Case #PB_Event_Gadget
Select GadgetID
Case 0
SetGadgetText(2,"Action!")
EndSelect
Case #PB_Event_CloseWindow
close = #True
EndSelect
Until close
EndIf
End
; EPB
Code : Tout sélectionner
For Angle0 = angle To 360+angle Step 45
linexy(50-sin(angle*(3.14159/180))*100,50-cos(angle*(3.14159/180))*100,50+sin(angle*(3.14159/180))*100,50+cos(angle*(3.14159/180))*100,0)
Next Angle0