j'ai modifié un peu ton exemple, mais lorsque je clic et bouge la souris, ça ne dessine pas sur l'image, pourquoi ,
Code : Tout sélectionner
Enumeration
#Mainform
#Grid
#CheckBox
#Combo
#Image
#IG_finale
#IG_canvas
#scroll
EndEnumeration
Enumeration
#img_canvas
#layer1
#layer2
#img_final
EndEnumeration
Procedure paint()
StartDrawing(ImageOutput(#img_final))
DrawingMode(#PB_2DDrawing_AlphaBlend)
Circle(xx,yy,10,RGBA(125,125,125,255))
StopDrawing()
SetGadgetState(#IG_finale,ImageID(#img_final))
EndProcedure
CreateImage(#img_canvas,700,700,32)
CreateImage(#img_final,700,700,32)
StartDrawing(ImageOutput(#img_final))
DrawingMode(#PB_2DDrawing_AlphaChannel)
Box(0,0,700,700,RGBA(0,0,0,0))
StopDrawing()
Global xx, yy, paint.b
OpenWindow(#Mainform, 0, 0, 1024, 768, "test", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
ScrollAreaGadget(#scroll,0,0,600,600,800,800,30)
CanvasGadget(#Grid, 50, 50, 700, 700, #PB_Canvas_Keyboard|#PB_Canvas_ClipMouse)
ImageGadget(#IG_finale,50,50,700,700,ImageID(#img_final))
CloseGadgetList()
SetActiveGadget(#Grid)
CheckBoxGadget(#CheckBox, 650, 20, 80, 20, "test")
ComboBoxGadget(#Combo, 650, 45, 80, 20)
AddGadgetItem(#Combo, -1, "Test")
ImageGadget(#Image, 650, 75, 80, 80, ImageID(CreateImage(#PB_Any, 80, 80)))
Repeat
event = WaitWindowEvent()
Select event
Case #PB_Event_Menu
Select EventMenu()
EndSelect
Case #PB_Event_Gadget
Select EventGadget()
Case #Grid
Select EventType()
Case #PB_EventType_LeftButtonDown
Debug "Left Button Down"
paint = 1
Case #PB_EventType_LeftButtonUp
Debug "Left Button Up"
paint = 0
Case #PB_EventType_RightButtonDown
Debug "Right Button Down"
Case #PB_EventType_RightButtonUp
Debug "Right Button Up"
Case #PB_EventType_MouseMove
If paint = 1
xx= GetGadgetAttribute(#Grid,#PB_Canvas_MouseX)
yy= GetGadgetAttribute(#Grid,#PB_Canvas_MouseY)
paint()
Debug Str(xx)+"/"+Str(yy)
EndIf
Case #PB_EventType_KeyDown
Debug "Key Down"
Case #PB_EventType_KeyUp
Debug "Key Up - "+ Str(GetGadgetAttribute(#Grid,#PB_Canvas_Key ))
Case #PB_EventType_MouseWheel
WheelStep=GetGadgetAttribute(#Grid, #PB_Canvas_WheelDelta)
ResizeGadget(#Grid, #PB_Ignore, #PB_Ignore, GadgetWidth(#Grid)+WheelStep, GadgetHeight(#Grid)+WheelStep)
EndSelect ;End EventType
Case #CheckBox
Debug "Checkbox"
SetActiveGadget(#Grid)
Case #Combo
Debug "Combo"
SetActiveGadget(#Grid)
Case#Image
Debug "Image"
SetActiveGadget(#Grid)
Default
SetActiveGadget(#Grid)
EndSelect
Case #PB_Event_CloseWindow
End
EndSelect
ForEver