Changer la couleur de survol nativement n'est pas possible effectivement mais il est possible de recréer les gadgets.
Ce code permet de changer la couleur des liens ainsi que la couleur des liens quand ils sont survolés.
Par défaut les liens sont rouges et la couleur de survol de ces liens est violette.
Code : Tout sélectionner
Declare Start()
Declare OnEventGadget()
Declare Exit()
Start()
Procedure start()
SetGadgetFont(#PB_All, LoadFont(0, "Arial", 10))
If OpenWindow(0, 0, 0, 800, 600, "HyperlinkGadget couleur à la volée", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
HyperLinkGadget(0, 10, 10, 250,20,"Premier lien", RGB(0,0,0))
HyperLinkGadget(1, 10, 30, 250,40,"Deuxieme lien", RGB(0,0,0))
ButtonGadget(2, 10, 100, 80, 24, "Lien Rouge")
ButtonGadget(3, 100, 100, 80, 24, "Lien Bleu")
ButtonGadget(4, 190, 100, 80, 24, "Survol Jaune")
ButtonGadget(5, 280, 100, 80, 24, "Survol Violet")
BindGadgetEvent(2, @OnEventGadget())
BindGadgetEvent(3, @OnEventGadget())
BindGadgetEvent(4, @OnEventGadget())
BindGadgetEvent(5, @OnEventGadget())
BindEvent(#PB_Event_CloseWindow, @Exit())
;Par defaut couleur des liens rouges survol violet
PostEvent(#PB_Event_Gadget, 0, 2)
PostEvent(#PB_Event_Gadget, 0, 5)
Repeat : WaitWindowEvent() : ForEver
EndIf
EndProcedure
Procedure OnEventGadget()
Static Color, BackColor
Select EventGadget()
Case 2 : Color = RGB(255, 0, 0)
Case 3 : Color = RGB(0, 0, 255)
Case 4 : BackColor = RGB(255, 215, 0)
Case 5 : BackColor = RGB(255, 0, 255)
EndSelect
HyperLinkGadget(0, 10, 10, 250,20,"Premier lien", BackColor)
HyperLinkGadget(1, 10, 30, 250,40,"Deuxieme lien", BackColor)
SetGadgetColor(0, #PB_Gadget_FrontColor, Color)
SetGadgetColor(1, #PB_Gadget_FrontColor, Color)
EndProcedure
Procedure Exit()
End
EndProcedure