Room for improvement but it's a start.
Code: Select all
;/=============================================================
;/ Code : Button with image and text
;/ Author : Sparkie
;/ Start Date: 03/15/06
;/ PB Version: PB 4.00 Beta6
;/ OS Support: Windows 98/ME/NT/2000/XP/Server 2003
;/=============================================================
;/===============================================
;/ Procedure - Create icon/text ButtonImageGadget
;/===============================================
Procedure ButtonIconGadget(num, x, y, w, h, text$, imageId, icoW, icoH)
buttonBack = GetSysColor_(#COLOR_BTNFACE)
thisImg = CreateImage(#PB_Any, w, h)
StartDrawing(ImageOutput(thisImg))
Box(0, 0, w, h, buttonBack)
DrawImage(imageId, 5, (h - icoH)/2, icoW, icoH)
DrawingFont(getstockobject_(#DEFAULT_GUI_FONT))
DrawText(icoW + 10, (h - TextHeight(text$))/2, "Button/icon", #Black, buttonBack)
StopDrawing()
gadId = ButtonImageGadget(num, x, y, w, h, ImageID(thisImg))
ProcedureReturn gadId
EndProcedure
If OpenWindow(0, 0, 0, 140, 100, "Test", #PB_Window_SystemMenu|#PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
ButtonIconGadget(0, 10, 10, 120, 28, "Button/Icon", CatchImage(0, ?ButtonIcon1), 16, 16)
ButtonIconGadget(1, 10, 45, 120, 38, "Button/Icon", CatchImage(0, ?ButtonIcon2), 32, 32)
Repeat
event = WaitWindowEvent()
Select event
Case #PB_Event_Gadget
Select EventGadget()
Case 0
MessageRequester("Event", "Button 0")
Case 1
MessageRequester("Event","Button 1")
EndSelect
EndSelect
Until event = #PB_Event_CloseWindow
EndIf
End
DataSection
ButtonIcon1:
Data.b $00,$00,$01,$00,$01,$00,$10,$10,$00,$00,$01,$00,$08,$00,$68,$05
Data.b $00,$00,$16,$00,$00,$00,$28,$00,$00,$00,$10,$00,$00,$00,$20,$00
Data.b $00,$00,$01,$00,$08,$00,$00,$00,$00,$00,$00,$00,$00,$00,$48,$00
Data.b $00,$00,$48,$00,$00,$00,$00,$01,$00,$00,$00,$00,$00,$00,$D5,$FE
Data.b $FE,$00,$CD,$FE,$FE,$00,$CD,$F6,$FE,$00,$BC,$F6,$FE,$00,$B4,$F6
Data.b $FE,$00,$AC,$F6,$FE,$00,$AC,$F6,$F6,$00,$A4,$F6,$F6,$00,$9B,$F6
Data.b $F6,$00,$AC,$EE,$F6,$00,$BC,$EE,$EE,$00,$A4,$EE,$F6,$00,$93,$EE
Data.b $F6,$00,$A4,$EE,$EE,$00,$8B,$EE,$F6,$00,$9B,$EE,$EE,$00,$83,$EE
Data.b $F6,$00,$CD,$E5,$E5,$00,$83,$EE,$EE,$00,$BC,$E5,$E5,$00,$9B,$E5
Data.b $EE,$00,$83,$EE,$DD,$00,$83,$E5,$EE,$00,$9B,$E5,$E5,$00,$7A,$E5
Data.b $EE,$00,$72,$E5,$EE,$00,$6A,$E5,$EE,$00,$7A,$E5,$E5,$00,$83,$E5
Data.b $DD,$00,$6A,$E5,$E5,$00,$7A,$E5,$DD,$00,$8B,$DD,$E5,$00,$7A,$DD
Data.b $E5,$00,$7A,$E5,$D5,$00,$6A,$DD,$E5,$00,$7A,$DD,$DD,$00,$62,$DD
Data.b $E5,$00,$72,$DD,$DD,$00,$8B,$D5,$DD,$00,$6A,$DD,$D5,$00,$7A,$D5
Data.b $DD,$00,$8B,$D5,$D5,$00,$72,$D5,$DD,$00,$B4,$CD,$CD,$00,$72,$D5
Data.b $D5,$00,$59,$D5,$DD,$00,$72,$D5,$CD,$00,$83,$CD,$D5,$00,$72,$CD
Data.b $D5,$00,$59,$D5,$CD,$00,$6A,$CD,$D5,$00,$51,$CD,$DD,$00,$72,$CD
Data.b $CD,$00,$59,$D5,$C4,$00,$83,$C4,$CD,$00,$83,$C4,$C4,$00,$7A,$C4
Data.b $C4,$00,$A4,$BC,$BC,$00,$62,$C4,$C4,$00,$41,$C4,$CD,$00,$83,$BC
Data.b $C4,$00,$39,$C4,$CD,$00,$7A,$BC,$BC,$00,$62,$BC,$C4,$00,$49,$C4
Data.b $BC,$00,$6A,$BC,$BC,$00,$7A,$B4,$BC,$00,$83,$CD,$83,$00,$62,$B4
Data.b $BC,$00,$62,$B4,$B4,$00,$62,$AC,$B4,$00,$20,$B4,$BC,$00,$30,$B4
Data.b $B4,$00,$49,$BC,$9B,$00,$51,$BC,$93,$00,$30,$B4,$AC,$00,$72,$A4
Data.b $AC,$00,$6A,$A4,$A4,$00,$18,$AC,$AC,$00,$62,$93,$9B,$00,$72,$93
Data.b $93,$00,$59,$8B,$93,$00,$51,$83,$8B,$00,$51,$83,$83,$00,$6A,$7A
Data.b $83,$00,$62,$7A,$83,$00,$51,$7A,$83,$00,$62,$7A,$7A,$00,$51,$7A
Data.b $7A,$00,$6A,$72,$7A,$00,$49,$72,$72,$00,$49,$6A,$72,$00,$59,$6A
Data.b $6A,$00,$41,$6A,$6A,$00,$51,$62,$62,$00,$51,$59,$62,$00,$49,$59
Data.b $62,$00,$41,$59,$62,$00,$39,$51,$59,$00,$39,$51,$51,$00,$30,$51
Data.b $51,$00,$41,$49,$51,$00,$30,$49,$51,$00,$39,$49,$49,$00,$30,$49
Data.b $49,$00,$30,$41,$49,$00,$39,$41,$41,$00,$28,$41,$41,$00,$30,$39
Data.b $41,$00,$28,$39,$39,$00,$30,$30,$39,$00,$28,$30,$39,$00,$20,$30
Data.b $30,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$4E,$47
Data.b $3D,$33,$24,$19,$18,$3F,$2C,$18,$19,$24,$33,$3D,$47,$49,$48,$3B
Data.b $2D,$22,$45,$28,$0E,$68,$62,$0E,$34,$46,$19,$2D,$3B,$48,$40,$2D
Data.b $19,$20,$6D,$4D,$08,$4C,$3C,$08,$56,$6B,$16,$19,$2D,$40,$35,$22
Data.b $30,$0C,$2F,$0B,$06,$06,$06,$06,$0D,$26,$0C,$20,$19,$35,$27,$46
Data.b $6F,$2F,$0B,$06,$03,$03,$03,$03,$06,$0B,$3E,$70,$30,$27,$21,$28
Data.b $4F,$0D,$06,$03,$02,$02,$02,$02,$03,$06,$0F,$52,$12,$21,$1C,$0E
Data.b $08,$06,$03,$02,$00,$2B,$11,$00,$0A,$03,$06,$08,$0E,$1C,$34,$63
Data.b $37,$06,$03,$02,$39,$6A,$6A,$59,$65,$50,$09,$42,$63,$23,$34,$5D
Data.b $29,$06,$03,$02,$2B,$6E,$6C,$5C,$67,$50,$09,$42,$5A,$23,$1C,$0E
Data.b $08,$06,$03,$02,$00,$5E,$54,$00,$13,$03,$06,$08,$0E,$1C,$21,$34
Data.b $58,$14,$06,$03,$02,$5E,$54,$02,$03,$06,$17,$5B,$28,$21,$27,$3F
Data.b $68,$26,$0B,$06,$03,$60,$57,$03,$06,$0B,$38,$68,$30,$27,$35,$22
Data.b $1B,$0C,$42,$14,$17,$6C,$62,$09,$17,$36,$0C,$16,$1D,$35,$40,$2D
Data.b $19,$30,$70,$51,$08,$61,$53,$08,$5A,$69,$16,$19,$2D,$40,$4B,$3B
Data.b $2D,$22,$2A,$20,$0E,$63,$63,$0E,$28,$30,$22,$2D,$3B,$4B,$4A,$4B
Data.b $40,$35,$27,$21,$1C,$41,$23,$1C,$21,$27,$35,$40,$4B,$43,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
ButtonIcon2:
Data.b $00,$00,$01,$00,$01,$00,$20,$20,$04,$00,$01,$00,$04,$00,$E8,$02
Data.b $00,$00,$16,$00,$00,$00,$28,$00,$00,$00,$20,$00,$00,$00,$40,$00
Data.b $00,$00,$01,$00,$04,$00,$00,$00,$00,$00,$80,$02,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$80,$00,$00,$80,$00,$00,$00,$80,$80,$00,$00,$00,$00
Data.b $80,$00,$00,$80,$80,$00,$80,$00,$80,$00,$80,$80,$80,$00,$C0,$C0
Data.b $C0,$00,$00,$FF,$00,$00,$FF,$00,$00,$00,$FF,$FF,$00,$00,$00,$00
Data.b $FF,$00,$00,$FF,$FF,$00,$FF,$00,$FF,$00,$FF,$FF,$FF,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$B8,$FF,$BF,$BF,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$8B,$8B,$FF,$FB,$FB,$FB,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$08,$B8,$B8,$FF,$BF,$BF,$BF,$A0,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$FF,$8B,$8B,$FF,$FB,$FB,$FA,$AA,$00,$00,$00,$00,$00,$00
Data.b $00,$0F,$BF,$F8,$B8,$FF,$BF,$BF,$BA,$AF,$A0,$00,$00,$00,$00,$00
Data.b $00,$FB,$FB,$FF,$8B,$8F,$FB,$FB,$AA,$FB,$FB,$00,$00,$00,$00,$00
Data.b $00,$BF,$BF,$BF,$F8,$BF,$BF,$BA,$AF,$BF,$BF,$00,$00,$00,$00,$00
Data.b $0B,$FB,$FB,$FB,$FF,$8F,$FB,$AA,$FB,$FB,$FB,$F0,$00,$00,$00,$00
Data.b $0F,$BF,$BF,$BF,$BF,$00,$00,$AF,$BF,$BF,$BF,$B0,$00,$00,$00,$00
Data.b $0E,$EE,$EE,$FB,$F0,$00,$00,$0B,$FB,$FB,$FB,$F0,$00,$00,$00,$00
Data.b $0E,$EE,$EE,$EE,$E0,$00,$00,$0E,$EE,$EE,$EE,$E0,$00,$00,$00,$00
Data.b $0B,$FB,$FB,$FB,$F0,$00,$00,$0B,$FB,$EE,$EE,$E0,$00,$00,$00,$00
Data.b $0F,$BF,$BF,$BF,$BA,$00,$00,$FF,$BF,$BF,$BF,$B0,$00,$00,$00,$00
Data.b $0B,$FB,$FB,$FB,$AA,$FB,$F8,$FF,$FB,$FB,$FB,$F0,$00,$00,$00,$00
Data.b $0F,$BF,$BF,$BA,$AF,$BF,$FB,$8F,$FF,$BF,$BF,$B0,$00,$00,$00,$00
Data.b $00,$FB,$FB,$AA,$FB,$FB,$F8,$B8,$FF,$FB,$FB,$00,$00,$00,$00,$00
Data.b $00,$BF,$BA,$AF,$BF,$BF,$FF,$8B,$8F,$FF,$BF,$00,$00,$00,$00,$00
Data.b $00,$0B,$AA,$AB,$FB,$FB,$FF,$B8,$B8,$FF,$F0,$00,$00,$00,$00,$00
Data.b $00,$00,$AA,$BF,$BF,$BF,$FF,$8B,$8B,$8F,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$0B,$FB,$FB,$FB,$FF,$B8,$B8,$B0,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$BF,$BF,$BF,$FF,$8B,$8B,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$FB,$FB,$FF,$B8,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$FF,$FF
Data.b $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$F0
Data.b $0F,$FF,$FF,$C0,$03,$FF,$FF,$80,$01,$FF,$FF,$00,$00,$FF,$FE,$00
Data.b $00,$7F,$FC,$00,$00,$3F,$F8,$00,$00,$1F,$F8,$00,$00,$1F,$F0,$00
Data.b $00,$0F,$F0,$00,$00,$0F,$F0,$03,$C0,$0F,$F0,$03,$C0,$0F,$F0,$03
Data.b $C0,$0F,$F0,$00,$00,$0F,$F0,$00,$00,$0F,$F0,$00,$00,$0F,$F8,$00
Data.b $00,$1F,$F8,$00,$00,$1F,$FC,$00,$00,$3F,$FE,$00,$00,$7F,$FF,$00
Data.b $00,$FF,$FF,$80,$01,$FF,$FF,$C0,$03,$FF,$FF,$F0,$0F,$FF,$FF,$FF
Data.b $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
EndDataSection