ImageGadget au-dessus de TextGadget

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
lepiaf31
Messages : 510
Inscription : dim. 25/mars/2007 13:44
Localisation : Toulouse, France
Contact :

ImageGadget au-dessus de TextGadget

Message par lepiaf31 »

Bonjour =)

Voila je souhaiterais faire un textgadget et que lorsqu'on passe le curseur au dessus de celui-ci sa couleur de fond change pour créer un effet "surligné" . Bon pour ça ya pas de problème j'y arrive. Le problème c'est que je voudrais aussi afficher un bouton par dessus ce texte surligné. Et le si j'ajoute un imagegadget() et ben ca marche pas :s . Le textgadget() recouvre l'image. quelqu'un a-t-il une solution ?

Voila un code pour tester:

Code : Tout sélectionner

UsePNGImageDecoder()
Button = CatchImage(0, ?image)

OpenWindow(0, 0, 0, 300, 300, "test", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
SetWindowColor(0, RGB(248, 250, 253))
TextGadget(0, 10, 10, 120, 20, "texte")
SetGadgetColor(0, #PB_Gadget_BackColor, RGB(248, 250, 253))

Colored = 0
Repeat
  x = WindowMouseX(0)
  y = WindowMouseY(0)
  If x>=GadgetX(0) And x<=GadgetX(0)+GadgetWidth(0) And y>=GadgetY(0) And y<=GadgetY(0)+GadgetHeight(0)
    If Colored = 0
      Colored = 1
      SetGadgetColor(0, #PB_Gadget_BackColor, RGB(192, 223, 255))
      ImageGadget(1, 110, 10, 16, 16, ImageID(0)) ;<== CETTE IMAGE EST MASQUEE
    EndIf
  Else
    If Colored
      SetGadgetColor(0, #PB_Gadget_BackColor, RGB(248, 250, 253))
      If IsGadget(1)
        FreeGadget(1)
      EndIf
      Colored = 0
    EndIf
  EndIf
Until WaitWindowEvent(1) = #PB_Event_CloseWindow


DataSection
	image:
	Data.l $474E5089, $A1A0A0D, $D000000, $52444849, $10000000, $10000000, $208, $68919000, $1000036, $4144493E
	Data.l $9DCF2854, $C24E4192, $A7861440, $4CEC59E0, $1898DEEB, $1B942175, $23BB0978, $5D0528AC, $829E8988, $E23421C2
	Data.l $5A688392, $54140D4A, $BF5A1024, $D24A0DE9, $F7BCDE4C, $DFFBFFFF, $EB8988EB, $91D52B0E, $44204A8, $E81CE0C2
	Data.l $181018D3, $FCEA48A2, $EAA31850, $15BDC4D1, $E6AD57A0, $F2B3AF4F, $FB9D7FDB, $FB5BC775, $E7DF5FBD, $DED781D3
	Data.l $6928EF74, $4709AB40, $3125CDA0, $91D952E5, $3D96E7B2, $32952A97, $5942D695, $7F12495C, $7D181329, $AEEFC774
	Data.l $B6C3FA07, $FB4ECE6F, $250B9717, $699AA681, $915F9C3E, $E0B13CFC, $82827D0, $A1904E06, $97E3EF0, $DAE9F0C3
	Data.l $B9ED0081, $78A288D6, $94AF6FC, $D750DE00, $1E8DF01D, $3CF3A0DA, $BF61A78F, $1A9DF4EE, $70E59641, $798003E8
	Data.l $309D8134, $4491BE1C, $CFBE501B, $9B367892, $C9A67926, $41BC1F4, $5B4DEC60, $594C2162, $6D0B0D8, $766EDDBD
	Data.l $C79C3DBB, $8EA17D46, $B0033341, $70803881, $4392A580, $72D6B21F, $D3F4AE3F, $CAF8FD28, $4F7FEF3E, $655E77C2
	Data.l $279051, $49000000, $AE444E45
EndDataSection
Merci !
lepiaf31
Messages : 510
Inscription : dim. 25/mars/2007 13:44
Localisation : Toulouse, France
Contact :

Re: ImageGadget au-dessus de TextGadget

Message par lepiaf31 »

Bon en utilisant les sprites ca marche mais si ya d'autres propositions je prends quand même.

Code : Tout sélectionner

InitSprite()

UsePNGImageDecoder()
Button = CatchImage(0, ?image)



OpenWindow(0, 0, 0, 300, 300, "test", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
SetWindowColor(0, RGB(248, 250, 253))
TextGadget(0, 10, 10, 120, 20, "texte")
SetGadgetColor(0, #PB_Gadget_BackColor, RGB(248, 250, 253))

Colored = 0
Repeat
  x = WindowMouseX(0)
  y = WindowMouseY(0)
  If x>=GadgetX(0) And x<=GadgetX(0)+GadgetWidth(0) And y>=GadgetY(0) And y<=GadgetY(0)+GadgetHeight(0)
    If Colored = 0
      Colored = 1
      SetGadgetColor(0, #PB_Gadget_BackColor, RGB(192, 223, 255))
      OpenWindowedScreen(WindowID(0), 110, 10, 16, 16, 0, 0, 0)
      CreateSprite(0, 16, 16)
      StartDrawing(SpriteOutput(0))
      DrawImage(ImageID(0), 0, 0, 16, 16)
      StopDrawing()
      DisplaySprite(0, 0, 0)
    EndIf
  Else
    If Colored
      SetGadgetColor(0, #PB_Gadget_BackColor, RGB(248, 250, 253))
      If IsSprite(0)
        CloseScreen()
      EndIf
      Colored = 0
    EndIf
  EndIf
Until WaitWindowEvent(1) = #PB_Event_CloseWindow


DataSection
	image:
	Data.l $474E5089, $A1A0A0D, $D000000, $52444849, $10000000, $10000000, $208, $68919000, $1000036, $4144493E
	Data.l $9DCF2854, $C24E4192, $A7861440, $4CEC59E0, $1898DEEB, $1B942175, $23BB0978, $5D0528AC, $829E8988, $E23421C2
	Data.l $5A688392, $54140D4A, $BF5A1024, $D24A0DE9, $F7BCDE4C, $DFFBFFFF, $EB8988EB, $91D52B0E, $44204A8, $E81CE0C2
	Data.l $181018D3, $FCEA48A2, $EAA31850, $15BDC4D1, $E6AD57A0, $F2B3AF4F, $FB9D7FDB, $FB5BC775, $E7DF5FBD, $DED781D3
	Data.l $6928EF74, $4709AB40, $3125CDA0, $91D952E5, $3D96E7B2, $32952A97, $5942D695, $7F12495C, $7D181329, $AEEFC774
	Data.l $B6C3FA07, $FB4ECE6F, $250B9717, $699AA681, $915F9C3E, $E0B13CFC, $82827D0, $A1904E06, $97E3EF0, $DAE9F0C3
	Data.l $B9ED0081, $78A288D6, $94AF6FC, $D750DE00, $1E8DF01D, $3CF3A0DA, $BF61A78F, $1A9DF4EE, $70E59641, $798003E8
	Data.l $309D8134, $4491BE1C, $CFBE501B, $9B367892, $C9A67926, $41BC1F4, $5B4DEC60, $594C2162, $6D0B0D8, $766EDDBD
	Data.l $C79C3DBB, $8EA17D46, $B0033341, $70803881, $4392A580, $72D6B21F, $D3F4AE3F, $CAF8FD28, $4F7FEF3E, $655E77C2
	Data.l $279051, $49000000, $AE444E45
EndDataSection
Répondre