Du gibst ja auch 1 (#True) zurück, wenn du einen Button mit fester Nummer erstellst, trotzdem funktioniert der Code bei mir ohne Probleme:
Code: Alles auswählen
Procedure AnyToolBarImageButton(id, imageid, mode = 0)
Static Dim IDs(6553)
Protected i
If id <> #PB_Any
If IDs(id) <> 1
ToolBarImageButton(id, imageid, mode)
IDs(id) = 1
ProcedureReturn #True
Else
ProcedureReturn #False
EndIf
Else
For i = 6553 To 0 Step -1
If IDs(i) = 0
IDs(i) = 1
ToolBarImageButton(i, imageid, mode)
ProcedureReturn i
EndIf
Next
ProcedureReturn #False
EndIf
EndProcedure
Macro ToolBarImageButton(a, b, c = 0)
AnyToolBarImageButton(a, b, c)
EndMacro
Enumeration
#Window
#ToolBar
EndEnumeration
UsePNGImageDecoder()
OpenWindow(#Window, 0, 0, 800, 600, "WindowTitle", #PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
CreateToolBar(#ToolBar, WindowID(#Window))
Debug ToolBarImageButton(#PB_Any, ImageID(CatchImage(#PB_Any, ?server_components)))
Debug ToolBarImageButton(#PB_Any, ImageID(CatchImage(#PB_Any, ?server_components)))
Debug ToolBarImageButton(#PB_Any, ImageID(CatchImage(#PB_Any, ?server_components)))
Debug ToolBarImageButton(10, ImageID(CatchImage(#PB_Any, ?server_components)))
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
End
Case #PB_Event_Menu
Debug EventMenu()
EndSelect
ForEver
DataSection
server_components:
Data.q $0A1A0A0D474E5089,$524448490D000000,$1000000010000000,$FFF31F0000000608,$5845741900000061
Data.q $72617774666F5374,$2065626F64410065,$6165526567616D49,$00003C65C9717964,$DA78544144493103
Data.q $C61865536C5F927C,$ACFF4F4A3B4FE77F,$0D8C6C0636C65D1B,$F12259A0C42F045D,$B8CB206E04D0104F
Data.q $C130B910D0BC42E0,$5BD188CAE1606190,$D844A26A209A89A3,$BA85859084402620,$6B6C0ACAE83A30BA
Data.q $E776D76D2B65394D,$E4DF1342F44EDF1C,$79CF3EF3DEFBE73D,$B05BE391F47BEF9F,$BA0E3849B1C5A76D
Data.q $BE03AAD7143150AA,$A387150F8B5E535F,$868E14531CA8A038,$0A5BE9134573108C,$87CD75E113ACB6DD
Data.q $74587578A1EE5B5B,$DAA6BBB3CD1266B9,$12E91AFD671CDE99,$FEDAFDCCFE9C7882,$1A3F645AD6FADE5C
Data.q $3BAF47C8E2155545,$0B9900278376FA9B,$7C9FE316005DB0D0,$1405C6630A8DE649,$957BEB58FA85361B
Data.q $333269BD190763D3,$99CD2F4073A5D44D,$1AF95E16AB001D10,$6573C7935A103EC6,$0211BE9A3B075ADC
Data.q $D47D921F88616485,$CFB55B701E85E104,$A39D53AC30A678FC,$4AA073940CCC1DA5,$714EA58864A8437A
Data.q $B279C9B59D441EC7,$2F40A9FDA22D2F50,$FA883F4E71AFFDEB,$C1AA4DFC917E2CC0,$F2EF7060422BB016
Data.q $3500FAD4695D3263,$021E6D164AF9209E,$2C228878EDDE3E53,$FBFD49C991F727E7,$9D60ECB1911BA9EB
Data.q $ADF8C2BD5F2BED62,$BF186BB245DD6C24,$771FEC9AB7C04CD1,$E1A2B32AC161B8E4,$89DAF9D4FD524679
Data.q $BA75B03DBF423C4E,$9DE4CF82F4C5C8E3,$F05D43D8ADB4DD17,$A598E9D5C974C269,$0E4B3288AE8C8E38
Data.q $4ACBDE19D029D173,$8DB7D471FADC06FF,$2AA9C345927CBC8B,$0CE50B15F93A3328,$73A493F3643D3D2B
Data.q $EB70846F68865813,$44996AD8DDBC1A1A,$8057BA2285F32CF1,$173443F23D442062,$BDA01B11B8262A3C
Data.q $7FE6243DF54D1B69,$2D49B0762BDFD3A2,$AA9879604333C844,$B46D2C9F2FF57497,$10A9694AF65B812A
Data.q $96E761566B84307F,$21228B02773EFC2B,$1EA79F186F0C59FD,$26BE42D2FC552671,$2568A9D146884DAF
Data.q $383964A06AD22174,$F2CC233E3AF6456A,$25D0F4E5E1CC8665,$30FE71279D49E6C4,$471CF631B276BBDB
Data.q $5E1628DCED3EABA2,$B2DC9A6A10B62426,$DEE767C2B17C91BF,$20611D2C44F5DAE7,$C93CDE087FD19676
Data.q $44CFD6F771EF33CD,$DB8F9BA252F2F61E,$F128A9956EE9A91A,$732512470C2FE0DD,$5248125C53D1439C
Data.q $F22109FF1E450530,$AE0B6C5BF36DABCB,$91FE8C749E7898E5,$FFE660A4FA9219CF,$7EAE4908FFF855EE
Data.q $A7F0DDFF34929EB2,$AB553C2D6B000300,$49000000000382EA,$00826042AE444E45
EndDataSection