Pour le moment on ne peut qu'avoir du texte ou une image !

Code : Tout sélectionner
ImageID = CreateImage(0, 100, 20)
StartDrawing(ImageOutput())
LineXY(3, 3, 14, 14, #Yellow)
LineXY(3, 14, 14, 3, #Yellow)
DrawingMode(1)
BackColor(0, 0, 0)
FrontColor(255, 255, 255)
Locate(20, 2)
DrawText("Bouton")
StopDrawing()
If OpenWindow(0,0,0,120,100,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"ButtonImage") And CreateGadgetList(WindowID(0))
ButtonImageGadget(0,10,10,100,20,ImageID)
Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow
EndIf
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
Code : Tout sélectionner
#Window = 0
#BCM_FIRST = $1600
#BCM_SETIMAGELIST = #BCM_FIRST + $0002
#BUTTON_IMAGELIST_ALIGN_LEFT = $0000
Enumeration
#Bouton1
EndEnumeration
Structure BUTTON_IMAGELIST
hImageList.l
margin.RECT
uAlign.l
EndStructure
Image.BUTTON_IMAGELIST
hImg = ImageList_LoadImage_(#Null,"dir.bmp",16,1,#CLR_DEFAULT,#IMAGE_BITMAP,#LR_LOADFROMFILE)
Image\hImageList = hImg
Image\uAlign = #BUTTON_IMAGELIST_ALIGN_LEFT
Image\margin\left = 10
If OpenWindow(#Window,0,0,200,200,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"Bouton avec image")
CreateGadgetList(WindowID(#Window))
hButton1 = ButtonGadget(#Bouton1,10,10,180,25,"Image à gauche")
SendMessage_(hButton1,#BCM_SETIMAGELIST,0,Image)
Repeat
Select WindowEvent()
Case #PB_Event_Gadget
Select EventGadgetID()
Case #Bouton1
SetWindowTitle(#Window,"Bouton cliqué")
EndSelect
Case #PB_Event_CloseWindow
quit = #True
EndSelect
Until quit
End
EndIf