Bon ben bouge pas, je vais sur mon ancien Forum.......
Voilà, évidemment, y a des corrections à apporter, j'avais pas compris visiblement à quoi servait les masques "&" à l'époque.
Je te mets la procédure que j'utilisais:
Code : Tout sélectionner
SUB DRAWITEM
hdcButton=di.hdc
SetBkMode(hdcButton, @transparent)
SetTextColor(hdcButton, rgb(57,128,244))
RE.L=0:RE.T=0:RE.R=C:RE.B=D
Dime.l1=50:Dime.T1=18:Dime.R1=100:Dime.B1=40
IF di.itemAction=1
DrawFrameControl(hdcButton, RE, @DFC_BUTTON, @DFCS_BUTTONPUSH)
drawIconEx(hdcButton , 10, 10, Smile, 32, 32, 0, 0, @DI_NORMAL)
DrawText(hdcButton, "Smile", -1, dime, @DT_LEFT )
ENDIF
IF di.itemState=17
DrawFrameControl(hdcButton, RE, @DFC_BUTTON, @DFCS_BUTTONPUSH|@DFCS_PUSHED)
drawIconEx(hdcButton , 12, 12, Anger, 32, 32, 0, 0, @DI_NORMAL)
DrawText(hdcButton, "Anger", -1, dime, @DT_LEFT )
ENDIF
IF di.itemState=16
DrawFrameControl(hdcButton, RE, @DFC_BUTTON, @DFCS_BUTTONPUSH)
drawIconEx(hdcButton , 10, 10, Smile, 32, 32, 0, 0, @DI_NORMAL)
DrawText(hdcButton, "Smile", -1, dime, @DT_LEFT )
ENDIF
IF di.itemState=@ODS_FOCUS & p=1
drawIconEx(hdcButton , 10, 10, Laugh, 32, 32, 0, 0, @DI_NORMAL)
SetBkMode(hdcButton, @opaque)
DrawText(hdcButton, "Laugh", -1, dime, @DT_LEFT )
Dime.l1=30 :Dime.T1=78:Dime.R1=228:Dime.B1=96
SetTextColor(hdcButton, rgb(128,128,244))
DrawText(hdcButton, "Return on the button", -1, dime, @DT_LEFT )
ENDIF
RETURN
Comme ça, tu prends directement ce qui t'intéresse!
[EDIT] Bien sûr, c'est DrawFrameControl qui permet d'afficher un bouton dans ses différents états!