Put an icon on a standard ButtonGadget

Share your advanced PureBasic knowledge/code with the community.
javabean
User
User
Posts: 60
Joined: Sat Nov 08, 2003 10:29 am
Location: Austria

Put an icon on a standard ButtonGadget

Post by javabean »

Buttontext AND an icon on a button...

Code: Select all

; Shows an Icon on a Standard ButtonGadget
; does NOT work on Win XP
; tested on Win 7 64-bit with activated "XP Skin" (x86 executable)

; References: http://msdn.microsoft.com/en-us/library/windows/desktop/bb761822%28v=vs.85%29.aspx


him = CatchImage(0, ?im)
padding$ = Space(7)


If OpenWindow(0, 0, 0, 222, 200, "ButtonGadget with icon", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  ButtonGadget(0, 10, 10, 170, 40, padding$+"Standard Button")
  
  ;     SendMessage_(GadgetID(0), #BM_SETSTYLE, #BS_CENTER, #False)
  
  ;justify right
  SetWindowLongPtr_(GadgetID(0), #GWL_STYLE, GetWindowLongPtr_(GadgetID(0), #GWL_STYLE) |#BS_LEFT)
  
  ;show icon
  SendMessage_(GadgetID(0), #BM_SETIMAGE, #IMAGE_ICON, him)
  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
End


DataSection
  im:
  
  Data.b $00, $00, $01, $00, $01, $00, $18, $18, $00, $00, $01, $00, $20, $00, $88, $09, $00, $00, $16, $00, $00, $00, $28, $00
  Data.b $00, $00, $18, $00, $00, $00, $30, $00, $00, $00, $01, $00, $20, $00, $00, $00, $00, $00, $60, $09, $00, $00, $00, $00
  Data.b $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $3F, $3C, $04, $23, $48, $65, $AD, $11, $35
  Data.b $4F, $ED, $15, $38, $53, $E2, $00, $00, $00, $01, $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, $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, $00, $00, $00, $00, $00, $00, $00, $00
  Data.b $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $33, $5B, $77, $AC, $39, $68, $87, $FF, $30, $64
  Data.b $8B, $FF, $2C, $57, $7A, $FE, $15, $39, $54, $E2, $00, $00, $00, $01, $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, $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, $00, $00, $00, $00, $00, $00, $00, $00
  Data.b $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $19, $47, $68, $EC, $79, $B0, $D2, $FF, $56, $8E
  Data.b $B2, $FF, $37, $69, $8F, $FF, $37, $60, $81, $FE, $18, $3C, $58, $DF, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00
  Data.b $00, $00, $00, $00, $00, $00, $00, $00, $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, $00, $00, $00, $00, $00, $00, $00, $00
  Data.b $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $12, $38, $53, $DC, $25, $61, $8E, $FE, $8D, $C2
  Data.b $E1, $FF, $64, $9B, $BD, $FF, $3D, $6F, $94, $FF, $42, $6B, $8C, $FE, $1B, $3F, $5B, $DC, $00, $00, $00, $01, $00, $00
  Data.b $00, $00, $00, $00, $00, $00, $00, $00, $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, $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, $00, $01, $12, $39, $55, $DD, $28, $6B
  Data.b $97, $FE, $9F, $D4, $F2, $FF, $71, $A7, $C8, $FF, $43, $73, $97, $FF, $48, $72, $92, $FE, $1B, $3F, $5B, $DD, $00, $00
  Data.b $00, $02, $00, $00, $00, $00, $00, $00, $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, $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, $00, $00, $00, $00, $00, $00, $14, $3B
  Data.b $59, $D8, $2F, $73, $A2, $FE, $AE, $E0, $FC, $FF, $75, $AB, $CB, $FF, $45, $75, $99, $FF, $4E, $77, $98, $FF, $1B, $41
  Data.b $59, $DD, $00, $00, $90, $02, $00, $00, $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, $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, $00, $00, $00, $00, $00, $00, $00, $00
  Data.b $00, $00, $14, $3D, $5A, $D8, $2F, $75, $A3, $FE, $B4, $E3, $FC, $FF, $77, $AB, $CB, $FF, $47, $77, $9A, $FF, $55, $7D
  Data.b $9B, $FE, $1D, $40, $59, $DE, $00, $93, $8F, $02, $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, $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, $00, $00, $00, $00, $00, $00, $00, $00
  Data.b $00, $00, $00, $00, $00, $00, $14, $3C, $5A, $D6, $2E, $74, $A2, $FE, $BA, $E5, $FD, $FF, $77, $AC, $CB, $FF, $4B, $79
  Data.b $9B, $FF, $5B, $81, $A2, $FF, $1D, $40, $5B, $DF, $00, $60, $5E, $03, $00, $00, $00, $00, $92, $92, $92, $02, $79, $79
  Data.b $79, $22, $7B, $7B, $7C, $36, $7B, $7B, $76, $35, $7A, $7A, $7B, $1A, $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, $00, $00, $00, $00, $00, $00, $00, $00
  Data.b $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $14, $3D, $5A, $D6, $2F, $75, $A2, $FE, $BF, $E8, $FD, $FF, $79, $AC
  Data.b $CB, $FF, $51, $80, $9F, $FF, $7A, $83, $87, $FF, $4F, $44, $3D, $50, $20, $1C, $16, $B3, $67, $65, $63, $F3, $9A, $9B
  Data.b $99, $FE, $A2, $A1, $A0, $FF, $A2, $A3, $A0, $FF, $9A, $98, $96, $FE, $83, $83, $80, $D9, $78, $76, $76, $6E, $5C, $5D
  Data.b $5D, $06, $00, $00, $00, $00, $00, $00, $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, $14, $3D, $59, $D5, $2F, $74, $A1, $FE, $C2, $EA
  Data.b $FF, $FF, $A8, $A6, $9C, $FF, $7A, $6B, $55, $FF, $46, $43, $3F, $FF, $99, $97, $92, $FF, $AD, $AB, $9F, $FE, $9D, $98
  Data.b $88, $DE, $84, $7E, $6D, $C3, $6E, $6A, $5B, $CA, $62, $60, $56, $F0, $7C, $7A, $74, $FF, $95, $95, $92, $FF, $70, $6E
  Data.b $6D, $CF, $72, $73, $69, $20, $00, $00, $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, $00, $00, $14, $3D, $5B, $D4, $58, $6A
  Data.b $6D, $FE, $AD, $A1, $8D, $FF, $8B, $84, $7B, $FF, $9A, $98, $93, $FE, $86, $7F, $6E, $C5, $AA, $97, $77, $6D, $B6, $96
  Data.b $70, $56, $C7, $AC, $85, $53, $DC, $BF, $9B, $50, $ED, $CF, $AA, $51, $8D, $80, $69, $8A, $43, $3D, $34, $EB, $87, $86
  Data.b $80, $FF, $6C, $69, $66, $E0, $66, $66, $66, $19, $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, $00, $00, $00, $00, $00, $00, $5C, $57
  Data.b $4B, $45, $5E, $5D, $5B, $FF, $8E, $8D, $89, $FF, $7C, $71, $5F, $AD, $B2, $95, $6F, $64, $D4, $B7, $92, $59, $FE, $E5
  Data.b $BC, $4F, $FF, $E9, $C8, $50, $FF, $E5, $C1, $54, $FF, $E4, $C1, $58, $FF, $EB, $C2, $5C, $EB, $D3, $AF, $6D, $6D, $65
  Data.b $5B, $E4, $84, $83, $7D, $FF, $60, $5C, $57, $B9, $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, $00, $00, $00, $00, $00, $00, $59, $59
  Data.b $5A, $A6, $97, $98, $95, $FF, $60, $56, $48, $D1, $BE, $A0, $79, $6F, $E7, $CA, $A7, $60, $FF, $E7, $C5, $5A, $FF, $E4
  Data.b $BD, $5E, $FF, $E4, $BF, $61, $FF, $E5, $BF, $65, $FF, $E5, $C5, $6E, $FF, $E9, $C9, $77, $FF, $EC, $CA, $7A, $EA, $CF
  Data.b $AF, $89, $85, $80, $7A, $FA, $70, $6E, $65, $FE, $53, $53, $4C, $43, $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, $00, $00, $00, $00, $00, $00, $70, $70
  Data.b $6D, $E3, $6F, $6B, $65, $FE, $A7, $91, $76, $90, $D9, $C0, $9A, $72, $FF, $E7, $C6, $67, $FF, $E2, $BE, $6B, $FF, $E6
  Data.b $C0, $6E, $FF, $E5, $C4, $76, $FF, $EB, $CE, $86, $FF, $ED, $D6, $95, $FF, $F1, $E0, $A3, $FF, $F5, $E5, $B1, $FF, $FA
  Data.b $EE, $B9, $CA, $BA, $A6, $D5, $74, $71, $6B, $FF, $40, $40, $39, $A2, $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, $00, $00, $61, $61, $62, $15, $7C, $7A
  Data.b $74, $FE, $70, $69, $60, $F0, $D9, $BA, $95, $82, $FC, $E0, $BC, $77, $FF, $E3, $BF, $78, $FF, $E4, $C0, $7B, $FF, $E5
  Data.b $C4, $83, $FF, $E8, $CC, $92, $FF, $EE, $D6, $9F, $FF, $EE, $DA, $AD, $FF, $F2, $E3, $B9, $FF, $F4, $E6, $C5, $FF, $F8
  Data.b $EE, $D0, $F1, $E3, $D1, $D1, $84, $7E, $76, $FF, $33, $31, $2C, $DD, $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, $00, $00, $5C, $5C, $57, $2C, $7A, $77
  Data.b $6F, $FF, $8F, $84, $79, $E1, $E5, $C9, $A8, $93, $FF, $E6, $C1, $85, $FF, $E4, $BF, $88, $FF, $E6, $C2, $8F, $FF, $E8
  Data.b $CB, $9D, $FF, $EB, $D4, $AA, $FF, $EF, $D9, $B6, $FF, $F1, $DF, $C1, $FF, $F3, $E4, $CC, $FF, $F5, $E9, $D6, $FF, $FB
  Data.b $F0, $DF, $FF, $F3, $E1, $D9, $8A, $7F, $73, $FF, $21, $20, $1D, $F8, $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, $00, $00, $5B, $54, $4D, $29, $6D, $6A
  Data.b $62, $FF, $A1, $98, $8A, $E9, $F7, $E1, $C8, $AC, $FF, $E5, $C1, $99, $FF, $E4, $BF, $99, $FF, $E8, $C9, $A8, $FF, $EB
  Data.b $D1, $B4, $FF, $EE, $D8, $BF, $FF, $F2, $DE, $C9, $FF, $F2, $E3, $D3, $FF, $F4, $E7, $DC, $FF, $F9, $ED, $E4, $FF, $F9
  Data.b $F4, $EC, $FF, $F3, $E3, $E5, $78, $6D, $5D, $FF, $0A, $0A, $0B, $F3, $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, $00, $00, $3E, $3E, $40, $0C, $50, $4E
  Data.b $46, $FC, $A1, $99, $90, $FB, $FD, $E6, $CA, $B8, $FF, $EF, $DB, $C0, $FF, $E3, $C0, $AD, $FF, $EA, $D2, $BE, $FF, $EE
  Data.b $D7, $C8, $FF, $F0, $DC, $D1, $FF, $F2, $E1, $DA, $FF, $F4, $E9, $E1, $FF, $F7, $EC, $E9, $FF, $F8, $F3, $EF, $FF, $FD
  Data.b $F9, $F5, $FD, $E9, $D4, $EF, $44, $3B, $2F, $FF, $00, $00, $00, $D0, $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, $00, $00, $00, $00, $00, $00, $35, $33
  Data.b $2E, $C5, $77, $74, $70, $FF, $F4, $DC, $BC, $D3, $FF, $F2, $DE, $D3, $FF, $F2, $E0, $D5, $FF, $EE, $D7, $D3, $FF, $EF
  Data.b $DB, $D9, $FF, $F2, $E1, $E0, $FF, $F6, $E6, $E7, $FF, $F6, $EB, $ED, $FF, $F7, $F0, $F3, $FF, $FA, $F5, $F7, $FF, $FF
  Data.b $FF, $F8, $C4, $A8, $84, $F8, $38, $37, $32, $FF, $12, $12, $0E, $8C, $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, $00, $00, $00, $00, $00, $00, $23, $20
  Data.b $1E, $5B, $20, $21, $1E, $FE, $CA, $BB, $AA, $F9, $FF, $E9, $CC, $D6, $FF, $ED, $D4, $D9, $FF, $F5, $E9, $EB, $FF, $F7
  Data.b $EF, $F1, $FF, $F8, $F0, $F2, $FF, $F6, $EA, $F2, $FF, $F7, $EF, $F6, $FF, $FA, $F4, $FA, $FF, $FF, $FF, $FC, $FB, $E6
  Data.b $CB, $F8, $77, $66, $4E, $FF, $3E, $3D, $37, $FB, $2A, $2B, $23, $26, $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, $00, $00, $00, $00, $00, $00, $00, $00
  Data.b $00, $02, $08, $08, $08, $C2, $20, $21, $21, $FF, $E9, $D5, $B8, $F8, $FF, $E5, $BE, $E2, $FF, $F8, $EF, $F4, $FF, $F9
  Data.b $EF, $F7, $FF, $F8, $F1, $F9, $FF, $F8, $F0, $F9, $FF, $FB, $F7, $FC, $FF, $FF, $FC, $FD, $FE, $E8, $CD, $FB, $8F, $78
  Data.b $5A, $FE, $74, $74, $67, $FF, $4B, $4B, $41, $8B, $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, $00, $00, $00, $00, $00, $00, $00, $00
  Data.b $00, $00, $00, $00, $00, $19, $05, $05, $04, $DB, $3C, $3C, $38, $FF, $D1, $BF, $A5, $FE, $FF, $E9, $C4, $F8, $FF, $EE
  Data.b $D4, $FA, $FF, $F2, $DE, $FD, $FF, $F2, $DE, $FE, $FF, $EF, $D5, $FE, $D4, $B7, $92, $FE, $96, $85, $6D, $FF, $7A, $79
  Data.b $6E, $FF, $54, $54, $47, $B5, $37, $37, $38, $05, $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, $00, $00, $00, $00, $00, $00, $00, $00
  Data.b $00, $00, $00, $00, $00, $00, $19, $19, $19, $16, $2E, $2E, $28, $B6, $4E, $4E, $46, $FE, $93, $8D, $7C, $FF, $C1, $B4
  Data.b $9B, $FF, $CA, $B8, $9D, $FF, $BF, $AE, $93, $FF, $A3, $97, $82, $FF, $8B, $8A, $7D, $FF, $62, $63, $58, $FC, $56, $56
  Data.b $49, $8F, $35, $35, $37, $05, $00, $00, $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, $00, $00, $00, $00, $00, $00, $00, $00
  Data.b $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $4F, $4F, $41, $44, $4E, $4E, $46, $A6, $54, $56
  Data.b $4B, $E3, $5D, $5D, $52, $FD, $5C, $5C, $52, $FB, $54, $52, $4A, $D9, $4F, $4D, $45, $94, $57, $50, $4B, $2B, $00, $00
  Data.b $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $07, $FF, $FF, $00, $03, $FF, $FF, $00, $01, $FF
  Data.b $FF, $00, $00, $FF, $FF, $00, $00, $7F, $FF, $00, $C0, $3F, $FF, $00, $E0, $1F, $FF, $00, $F0, $08, $3F, $00, $F8, $00
  Data.b $07, $00, $FC, $00, $03, $00, $FE, $00, $01, $00, $FF, $00, $01, $00, $FF, $00, $00, $00, $FF, $00, $00, $00, $FE, $00
  Data.b $00, $00, $FE, $00, $00, $00, $FE, $00, $00, $00, $FE, $00, $00, $00, $FF, $00, $00, $00, $FF, $00, $00, $00, $FF, $00
  
EndDataSection
User avatar
Jacobus
Enthusiast
Enthusiast
Posts: 140
Joined: Wed Nov 16, 2005 7:51 pm
Location: France
Contact:

Re: Put an icon on a standard ButtonGadget

Post by Jacobus »

Very good, thank you.
In addition, in this way can simply add the multiline function. What I needed for some projects. Thank you again

Code: Select all

ButtonGadget(0, 10, 10, 170, 40, padding$+"Standard Button"+Chr(10)+padding$+"Button Multiline",#PB_Button_MultiLine)
PureBasicien tu es, PureBasicien tu resteras.
User avatar
electrochrisso
Addict
Addict
Posts: 989
Joined: Mon May 14, 2007 2:13 am
Location: Darling River

Re: Put an icon on a standard ButtonGadget

Post by electrochrisso »

Thanks for post, might come in handy one day. :)
PureBasic! Purely the best 8)
User avatar
Jacobus
Enthusiast
Enthusiast
Posts: 140
Joined: Wed Nov 16, 2005 7:51 pm
Location: France
Contact:

Re: Put an icon on a standard ButtonGadget

Post by Jacobus »

Just an example to create buttons with different fonts and icons positioned where you want.
Can get this for example:

Image

Attention! use your own images in the Datasection

Code: Select all

; Shows an Icon on a Standard ButtonGadget
; does NOT work on Win XP
; tested on Win 7 64-bit with activated "XP Skin" (x86 executable)

; References: http://msdn.microsoft.com/en-us/library/windows/desktop/bb761822%28v=vs.85%29.aspx

him = CatchImage(0, ?im)
BImage1  = CatchImage(1,?BImage1)
BImage2  = CatchImage(2,?BImage2)
BImage3  = CatchImage(3,?BImage3)
BImage4  = CatchImage(4,?BImage4)

padding$ = Space(2)

Font0 = LoadFont(0, "Arial", 8,#PB_Font_Bold|#PB_Font_HighQuality)
Font1 = LoadFont(1, "Arial", 8,#PB_Font_HighQuality|#PB_Font_Italic)
Font2 = LoadFont(2, "Arial", 8,#PB_Font_Bold|#PB_Font_HighQuality|#PB_Font_Italic)
Font3 = LoadFont(3, "Times New Roman", 10,#PB_Font_Bold|#PB_Font_HighQuality)

If OpenWindow(0, 0, 0, 370, 200, "ButtonGadget with icon", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  
  ButtonGadget(0, 10, 10, 170, 40, padding$+"Standard Button"+Chr(10)+padding$+"Button Multiline",#PB_Button_MultiLine)	
	;     SendMessage_(GadgetID(0), #BM_SETSTYLE, #BS_CENTER, #False)	
	;justify right
	SetWindowLongPtr_(GadgetID(0), #GWL_STYLE, GetWindowLongPtr_(GadgetID(0), #GWL_STYLE) |#BS_LEFT)	
	;show icon
	SendMessage_(GadgetID(0), #BM_SETIMAGE, #IMAGE_ICON, him)
	
	
	ButtonGadget(1, 190, 10, 170, 40, padding$+"Standard Button"+Chr(10)+padding$+"Button Multiline",#PB_Button_MultiLine)	
	SetWindowLongPtr_(GadgetID(1), #GWL_STYLE, GetWindowLongPtr_(GadgetID(1), #GWL_STYLE) |#BS_LEFT)	
	SendMessage_(GadgetID(1), #BM_SETIMAGE, #IMAGE_ICON, BImage1)
	SetGadgetFont(1,Font1)
	
	ButtonGadget(2, 10, 60, 170, 85, padding$+"Standard Button"+Chr(10)+padding$+"Button Multiline",#PB_Button_MultiLine)
	SetGadgetFont(2,Font0)
	SetWindowLongPtr_(GadgetID(2), #GWL_STYLE, GetWindowLongPtr_(GadgetID(2), #GWL_STYLE) |#BS_BOTTOM)	
	SendMessage_(GadgetID(2), #BM_SETIMAGE, #IMAGE_ICON, BImage2)
	
	ButtonGadget(3, 190, 60, 170, 85, padding$+"Standard Button"+Chr(10)+padding$+"Button Multiline",#PB_Button_MultiLine)
	SetGadgetFont(3,Font2)
	SetWindowLongPtr_(GadgetID(3), #GWL_STYLE, GetWindowLongPtr_(GadgetID(3), #GWL_STYLE) |#BS_TOP)	
	SendMessage_(GadgetID(3), #BM_SETIMAGE, #IMAGE_ICON, BImage3)
	
	ButtonGadget(4, 10, 150, 350, 45, padding$+"Button multiline with special font and positioned icons  "+Chr(10)+padding$+"Click on the arrow to switch to the next window  ",#PB_Button_MultiLine)
	SetGadgetFont(4,Font3)
	SetWindowLongPtr_(GadgetID(4), #GWL_STYLE, GetWindowLongPtr_(GadgetID(4), #GWL_STYLE) |#BS_RIGHT)	
	SendMessage_(GadgetID(4), #BM_SETIMAGE, #IMAGE_ICON, BImage4)
	
	Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
End


DataSection
  ;{
  BImage1:  IncludeBinary "SearchDoc_32.ico" 
	BImage2:  IncludeBinary "KeyGen.ico" 
	BImage3:  IncludeBinary "Win7.ico"
	BImage4:  IncludeBinary "Suivant 02.ico"
	
	im:
	Data.b $00, $00, $01, $00, $01, $00, $18, $18, $00, $00, $01, $00, $20, $00, $88, $09, $00, $00, $16, $00, $00, $00, $28, $00
	Data.b $00, $00, $18, $00, $00, $00, $30, $00, $00, $00, $01, $00, $20, $00, $00, $00, $00, $00, $60, $09, $00, $00, $00, $00
	Data.b $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $3F, $3C, $04, $23, $48, $65, $AD, $11, $35
	Data.b $4F, $ED, $15, $38, $53, $E2, $00, $00, $00, $01, $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, $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, $00, $00, $00, $00, $00, $00, $00, $00
	Data.b $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $33, $5B, $77, $AC, $39, $68, $87, $FF, $30, $64
	Data.b $8B, $FF, $2C, $57, $7A, $FE, $15, $39, $54, $E2, $00, $00, $00, $01, $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, $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, $00, $00, $00, $00, $00, $00, $00, $00
	Data.b $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $19, $47, $68, $EC, $79, $B0, $D2, $FF, $56, $8E
	Data.b $B2, $FF, $37, $69, $8F, $FF, $37, $60, $81, $FE, $18, $3C, $58, $DF, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00
	Data.b $00, $00, $00, $00, $00, $00, $00, $00, $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, $00, $00, $00, $00, $00, $00, $00, $00
	Data.b $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $12, $38, $53, $DC, $25, $61, $8E, $FE, $8D, $C2
	Data.b $E1, $FF, $64, $9B, $BD, $FF, $3D, $6F, $94, $FF, $42, $6B, $8C, $FE, $1B, $3F, $5B, $DC, $00, $00, $00, $01, $00, $00
	Data.b $00, $00, $00, $00, $00, $00, $00, $00, $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, $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, $00, $01, $12, $39, $55, $DD, $28, $6B
	Data.b $97, $FE, $9F, $D4, $F2, $FF, $71, $A7, $C8, $FF, $43, $73, $97, $FF, $48, $72, $92, $FE, $1B, $3F, $5B, $DD, $00, $00
	Data.b $00, $02, $00, $00, $00, $00, $00, $00, $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, $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, $00, $00, $00, $00, $00, $00, $14, $3B
	Data.b $59, $D8, $2F, $73, $A2, $FE, $AE, $E0, $FC, $FF, $75, $AB, $CB, $FF, $45, $75, $99, $FF, $4E, $77, $98, $FF, $1B, $41
	Data.b $59, $DD, $00, $00, $90, $02, $00, $00, $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, $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, $00, $00, $00, $00, $00, $00, $00, $00
	Data.b $00, $00, $14, $3D, $5A, $D8, $2F, $75, $A3, $FE, $B4, $E3, $FC, $FF, $77, $AB, $CB, $FF, $47, $77, $9A, $FF, $55, $7D
	Data.b $9B, $FE, $1D, $40, $59, $DE, $00, $93, $8F, $02, $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, $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, $00, $00, $00, $00, $00, $00, $00, $00
	Data.b $00, $00, $00, $00, $00, $00, $14, $3C, $5A, $D6, $2E, $74, $A2, $FE, $BA, $E5, $FD, $FF, $77, $AC, $CB, $FF, $4B, $79
	Data.b $9B, $FF, $5B, $81, $A2, $FF, $1D, $40, $5B, $DF, $00, $60, $5E, $03, $00, $00, $00, $00, $92, $92, $92, $02, $79, $79
	Data.b $79, $22, $7B, $7B, $7C, $36, $7B, $7B, $76, $35, $7A, $7A, $7B, $1A, $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, $00, $00, $00, $00, $00, $00, $00, $00
	Data.b $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $14, $3D, $5A, $D6, $2F, $75, $A2, $FE, $BF, $E8, $FD, $FF, $79, $AC
	Data.b $CB, $FF, $51, $80, $9F, $FF, $7A, $83, $87, $FF, $4F, $44, $3D, $50, $20, $1C, $16, $B3, $67, $65, $63, $F3, $9A, $9B
	Data.b $99, $FE, $A2, $A1, $A0, $FF, $A2, $A3, $A0, $FF, $9A, $98, $96, $FE, $83, $83, $80, $D9, $78, $76, $76, $6E, $5C, $5D
	Data.b $5D, $06, $00, $00, $00, $00, $00, $00, $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, $14, $3D, $59, $D5, $2F, $74, $A1, $FE, $C2, $EA
	Data.b $FF, $FF, $A8, $A6, $9C, $FF, $7A, $6B, $55, $FF, $46, $43, $3F, $FF, $99, $97, $92, $FF, $AD, $AB, $9F, $FE, $9D, $98
	Data.b $88, $DE, $84, $7E, $6D, $C3, $6E, $6A, $5B, $CA, $62, $60, $56, $F0, $7C, $7A, $74, $FF, $95, $95, $92, $FF, $70, $6E
	Data.b $6D, $CF, $72, $73, $69, $20, $00, $00, $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, $00, $00, $14, $3D, $5B, $D4, $58, $6A
	Data.b $6D, $FE, $AD, $A1, $8D, $FF, $8B, $84, $7B, $FF, $9A, $98, $93, $FE, $86, $7F, $6E, $C5, $AA, $97, $77, $6D, $B6, $96
	Data.b $70, $56, $C7, $AC, $85, $53, $DC, $BF, $9B, $50, $ED, $CF, $AA, $51, $8D, $80, $69, $8A, $43, $3D, $34, $EB, $87, $86
	Data.b $80, $FF, $6C, $69, $66, $E0, $66, $66, $66, $19, $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, $00, $00, $00, $00, $00, $00, $5C, $57
	Data.b $4B, $45, $5E, $5D, $5B, $FF, $8E, $8D, $89, $FF, $7C, $71, $5F, $AD, $B2, $95, $6F, $64, $D4, $B7, $92, $59, $FE, $E5
	Data.b $BC, $4F, $FF, $E9, $C8, $50, $FF, $E5, $C1, $54, $FF, $E4, $C1, $58, $FF, $EB, $C2, $5C, $EB, $D3, $AF, $6D, $6D, $65
	Data.b $5B, $E4, $84, $83, $7D, $FF, $60, $5C, $57, $B9, $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, $00, $00, $00, $00, $00, $00, $59, $59
	Data.b $5A, $A6, $97, $98, $95, $FF, $60, $56, $48, $D1, $BE, $A0, $79, $6F, $E7, $CA, $A7, $60, $FF, $E7, $C5, $5A, $FF, $E4
	Data.b $BD, $5E, $FF, $E4, $BF, $61, $FF, $E5, $BF, $65, $FF, $E5, $C5, $6E, $FF, $E9, $C9, $77, $FF, $EC, $CA, $7A, $EA, $CF
	Data.b $AF, $89, $85, $80, $7A, $FA, $70, $6E, $65, $FE, $53, $53, $4C, $43, $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, $00, $00, $00, $00, $00, $00, $70, $70
	Data.b $6D, $E3, $6F, $6B, $65, $FE, $A7, $91, $76, $90, $D9, $C0, $9A, $72, $FF, $E7, $C6, $67, $FF, $E2, $BE, $6B, $FF, $E6
	Data.b $C0, $6E, $FF, $E5, $C4, $76, $FF, $EB, $CE, $86, $FF, $ED, $D6, $95, $FF, $F1, $E0, $A3, $FF, $F5, $E5, $B1, $FF, $FA
	Data.b $EE, $B9, $CA, $BA, $A6, $D5, $74, $71, $6B, $FF, $40, $40, $39, $A2, $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, $00, $00, $61, $61, $62, $15, $7C, $7A
	Data.b $74, $FE, $70, $69, $60, $F0, $D9, $BA, $95, $82, $FC, $E0, $BC, $77, $FF, $E3, $BF, $78, $FF, $E4, $C0, $7B, $FF, $E5
	Data.b $C4, $83, $FF, $E8, $CC, $92, $FF, $EE, $D6, $9F, $FF, $EE, $DA, $AD, $FF, $F2, $E3, $B9, $FF, $F4, $E6, $C5, $FF, $F8
	Data.b $EE, $D0, $F1, $E3, $D1, $D1, $84, $7E, $76, $FF, $33, $31, $2C, $DD, $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, $00, $00, $5C, $5C, $57, $2C, $7A, $77
	Data.b $6F, $FF, $8F, $84, $79, $E1, $E5, $C9, $A8, $93, $FF, $E6, $C1, $85, $FF, $E4, $BF, $88, $FF, $E6, $C2, $8F, $FF, $E8
	Data.b $CB, $9D, $FF, $EB, $D4, $AA, $FF, $EF, $D9, $B6, $FF, $F1, $DF, $C1, $FF, $F3, $E4, $CC, $FF, $F5, $E9, $D6, $FF, $FB
	Data.b $F0, $DF, $FF, $F3, $E1, $D9, $8A, $7F, $73, $FF, $21, $20, $1D, $F8, $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, $00, $00, $5B, $54, $4D, $29, $6D, $6A
	Data.b $62, $FF, $A1, $98, $8A, $E9, $F7, $E1, $C8, $AC, $FF, $E5, $C1, $99, $FF, $E4, $BF, $99, $FF, $E8, $C9, $A8, $FF, $EB
	Data.b $D1, $B4, $FF, $EE, $D8, $BF, $FF, $F2, $DE, $C9, $FF, $F2, $E3, $D3, $FF, $F4, $E7, $DC, $FF, $F9, $ED, $E4, $FF, $F9
	Data.b $F4, $EC, $FF, $F3, $E3, $E5, $78, $6D, $5D, $FF, $0A, $0A, $0B, $F3, $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, $00, $00, $3E, $3E, $40, $0C, $50, $4E
	Data.b $46, $FC, $A1, $99, $90, $FB, $FD, $E6, $CA, $B8, $FF, $EF, $DB, $C0, $FF, $E3, $C0, $AD, $FF, $EA, $D2, $BE, $FF, $EE
	Data.b $D7, $C8, $FF, $F0, $DC, $D1, $FF, $F2, $E1, $DA, $FF, $F4, $E9, $E1, $FF, $F7, $EC, $E9, $FF, $F8, $F3, $EF, $FF, $FD
	Data.b $F9, $F5, $FD, $E9, $D4, $EF, $44, $3B, $2F, $FF, $00, $00, $00, $D0, $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, $00, $00, $00, $00, $00, $00, $35, $33
	Data.b $2E, $C5, $77, $74, $70, $FF, $F4, $DC, $BC, $D3, $FF, $F2, $DE, $D3, $FF, $F2, $E0, $D5, $FF, $EE, $D7, $D3, $FF, $EF
	Data.b $DB, $D9, $FF, $F2, $E1, $E0, $FF, $F6, $E6, $E7, $FF, $F6, $EB, $ED, $FF, $F7, $F0, $F3, $FF, $FA, $F5, $F7, $FF, $FF
	Data.b $FF, $F8, $C4, $A8, $84, $F8, $38, $37, $32, $FF, $12, $12, $0E, $8C, $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, $00, $00, $00, $00, $00, $00, $23, $20
	Data.b $1E, $5B, $20, $21, $1E, $FE, $CA, $BB, $AA, $F9, $FF, $E9, $CC, $D6, $FF, $ED, $D4, $D9, $FF, $F5, $E9, $EB, $FF, $F7
	Data.b $EF, $F1, $FF, $F8, $F0, $F2, $FF, $F6, $EA, $F2, $FF, $F7, $EF, $F6, $FF, $FA, $F4, $FA, $FF, $FF, $FF, $FC, $FB, $E6
	Data.b $CB, $F8, $77, $66, $4E, $FF, $3E, $3D, $37, $FB, $2A, $2B, $23, $26, $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, $00, $00, $00, $00, $00, $00, $00, $00
	Data.b $00, $02, $08, $08, $08, $C2, $20, $21, $21, $FF, $E9, $D5, $B8, $F8, $FF, $E5, $BE, $E2, $FF, $F8, $EF, $F4, $FF, $F9
	Data.b $EF, $F7, $FF, $F8, $F1, $F9, $FF, $F8, $F0, $F9, $FF, $FB, $F7, $FC, $FF, $FF, $FC, $FD, $FE, $E8, $CD, $FB, $8F, $78
	Data.b $5A, $FE, $74, $74, $67, $FF, $4B, $4B, $41, $8B, $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, $00, $00, $00, $00, $00, $00, $00, $00
	Data.b $00, $00, $00, $00, $00, $19, $05, $05, $04, $DB, $3C, $3C, $38, $FF, $D1, $BF, $A5, $FE, $FF, $E9, $C4, $F8, $FF, $EE
	Data.b $D4, $FA, $FF, $F2, $DE, $FD, $FF, $F2, $DE, $FE, $FF, $EF, $D5, $FE, $D4, $B7, $92, $FE, $96, $85, $6D, $FF, $7A, $79
	Data.b $6E, $FF, $54, $54, $47, $B5, $37, $37, $38, $05, $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, $00, $00, $00, $00, $00, $00, $00, $00
	Data.b $00, $00, $00, $00, $00, $00, $19, $19, $19, $16, $2E, $2E, $28, $B6, $4E, $4E, $46, $FE, $93, $8D, $7C, $FF, $C1, $B4
	Data.b $9B, $FF, $CA, $B8, $9D, $FF, $BF, $AE, $93, $FF, $A3, $97, $82, $FF, $8B, $8A, $7D, $FF, $62, $63, $58, $FC, $56, $56
	Data.b $49, $8F, $35, $35, $37, $05, $00, $00, $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, $00, $00, $00, $00, $00, $00, $00, $00
	Data.b $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $4F, $4F, $41, $44, $4E, $4E, $46, $A6, $54, $56
	Data.b $4B, $E3, $5D, $5D, $52, $FD, $5C, $5C, $52, $FB, $54, $52, $4A, $D9, $4F, $4D, $45, $94, $57, $50, $4B, $2B, $00, $00
	Data.b $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $07, $FF, $FF, $00, $03, $FF, $FF, $00, $01, $FF
	Data.b $FF, $00, $00, $FF, $FF, $00, $00, $7F, $FF, $00, $C0, $3F, $FF, $00, $E0, $1F, $FF, $00, $F0, $08, $3F, $00, $F8, $00
	Data.b $07, $00, $FC, $00, $03, $00, $FE, $00, $01, $00, $FF, $00, $01, $00, $FF, $00, $00, $00, $FF, $00, $00, $00, $FE, $00
	Data.b $00, $00, $FE, $00, $00, $00, $FE, $00, $00, $00, $FE, $00, $00, $00, $FF, $00, $00, $00, $FF, $00, $00, $00, $FF, $00
	;}
EndDataSection
PureBasicien tu es, PureBasicien tu resteras.
User avatar
electrochrisso
Addict
Addict
Posts: 989
Joined: Mon May 14, 2007 2:13 am
Location: Darling River

Re: Put an icon on a standard ButtonGadget

Post by electrochrisso »

Pretty nifty Jacobus. :)
PureBasic! Purely the best 8)
Post Reply