Verfasst: 15.05.2007 09:29
Hier ist ein in PB 4 funktionierendes Beispiel mit Icons im Format 32 x 32 Pixeln (ein interessantes Beispiel für PB 3 mit aus dem WingDings-Zeichensatz erstellten Schaltflächen hat Sparky im englischen Forum veröffentlicht: http://www.purebasic.fr/english/viewtop ... 06&start=3)
Code: Alles auswählen
#TB_SETIMAGELIST = #WM_USER + 48
#TB_GETIMAGELIST = #WM_USER + 49
Procedure MakeLong(LowWord.W, HighWord.W)
ProcedureReturn (HighWord * $10000) | (LowWord & $FFFF)
EndProcedure
If OpenWindow(0, 0, 0, 250, 100, "Große Toolbar-Schaltflächen", #PB_Window_SystemMenu |#PB_Window_SizeGadget | #PB_Window_ScreenCentered)
hTB = CreateToolBar(0, WindowID(0))
hOldIList = SendMessage_(hTB, #TB_GETIMAGELIST, 0, 0);
hNewIList = ImageList_Duplicate_(hOldIList)
ImageList_Destroy_(hOldIList)
ImageList_SetIconSize_(hNewIList, 32, 32)
SendMessage_(hTB, #TB_SETIMAGELIST, 0, hNewIList)
SendMessage_(hTB, #TB_SETBITMAPSIZE, 0, MakeLong(32,32))
SendMessage_(hTB, #TB_SETBUTTONSIZE, 0, MakeLong(36,36))
SendMessage_(hTB, #TB_AUTOSIZE, 0, 0)
ToolBarImageButton(0, 1)
ToolBarImageButton(1, 2)
ToolBarImageButton(2, 3)
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_Menu
Debug "ToolBar ID: "+Str(EventMenu())
EndIf
Until EventID = #PB_Event_CloseWindow
ImageList_Destroy_(hNewIList)
EndIf