Page 1 sur 1
Couleur fond listicon disabled
Publié : dim. 24/mai/2009 18:51
par Anonyme2
Voilà, je bute sur ceci
Je n'arrive pas à récupérer la couleur du fond d'une listicon lorsque qu'elle est désactivée (disabled quoi

)
J'ai fais plein de recherche (diverses API) et fouiné sur le forum fr/en mais pas trouvé, peut-être que ma requête n'est pas pertinente.
Il y a peut-être une différence si les thèmes sont activés mais je n'en suis pas persuadé.
Si vous avez du code qui va bien.
Publié : lun. 25/mai/2009 23:38
par Le Soldat Inconnu
juste avec un point non ?
j'ai vu le post sur le forum anglais, je n'avais pas proposé cette solution à la c... car je pensais que ce n'était pas cela que tu cherchais.
enfin, en fonction PB, ça donne ça, plutôt que le truc plein d'API des anglais
Code : Tout sélectionner
; Auteur : Le Soldat Inconnu
; Version de PB : 4
;
; Explication du programme :
; Pour faire des programmes de test rapidement, il ne reste qu'a rajouter les gadgets et la gestion des évènements.
; Création de la fenêtre et de la GadgetList
If OpenWindow(0, 0, 0, 300, 300, "Test", #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_MinimizeGadget) = 0
End
EndIf
ListIconGadget(0, 10, 20, 200, 150, "test", 100, #LVS_NOCOLUMNHEADER)
DisableGadget(0, 1)
UpdateWindow_(WindowID(0))
If StartDrawing(WindowOutput(0))
Couleur = Point(GadgetX(0) + 2, GadgetY(0) + GadgetHeight(0) - 2)
StopDrawing()
EndIf
Debug Hex(Couleur)
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Menu
Select EventMenu() ; Menus
EndSelect
Case #PB_Event_Gadget
Select EventGadget() ; Gadgets
EndSelect
EndSelect
Until Event = #PB_Event_CloseWindow
Publié : lun. 25/mai/2009 23:41
par Le Soldat Inconnu
je me place dans le coin bas gauche de la list icon, mais une solution plus solide en fonction du skin adopté serait de plutot se placé au centre du gadget, comme cela
Code : Tout sélectionner
If OpenWindow(0, 0, 0, 300, 300, "Test", #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_MinimizeGadget) = 0
End
EndIf
ListIconGadget(0, 10, 20, 200, 150, "test", 100, #LVS_NOCOLUMNHEADER)
DisableGadget(0, 1)
UpdateWindow_(WindowID(0))
If StartDrawing(WindowOutput(0))
Couleur = Point(GadgetX(0) + GadgetWidth(0) / 2, GadgetY(0) + GadgetHeight(0) / 2)
StopDrawing()
EndIf
Debug Hex(Couleur)
Repeat
Event = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow
Publié : mar. 26/mai/2009 3:42
par Anonyme2
La solution de netmaestro est si simple, je suis passé à côté, avec le dc j'ai utilisé l'API GetDCBrushColor mais sans succès.
Pour finir, comme la listicon est dans un gadget de srod (nxSplitter) , je n'ai pas la bonne couleur, je vais essayer ce que m'a dit srod.
J'ai ramé car cela ne fonctionnait pas avec le nxSplitter gadget (j'ai passé presque 2 jours là-dessus...) et je n'ai pas remis en cause ce fonctionnement.