das folgende Testprogramm funktioniert.
Code: Alles auswählen
EnableExplicit
Enumeration
#ToolBar
#newRow
#delRow
#editRow
EndEnumeration
DataSection
Icon_new:
IncludeBinary("newRow.bmp")
Icon_del:
IncludeBinary("deleteRow.bmp")
Icon_edit:
IncludeBinary("Edit.bmp")
EndDataSection
Define Ev.i
Procedure.i TestWin()
Protected WinNr.i
DataSection
Icon_new:
IncludeBinary("newRow.bmp")
Icon_del:
IncludeBinary("deleteRow.bmp")
Icon_edit:
IncludeBinary("Edit.bmp")
EndDataSection
WinNr=OpenWindow(#PB_Any,50,50,100,80,"Test-Window",#PB_Window_SystemMenu)
If CreateToolBar(#ToolBar, WindowID(WinNr))
ToolBarImageButton(#newRow, CatchImage(0,?Icon_new),#PB_ToolBar_Toggle)
ToolBarImageButton(#delRow, CatchImage(1,?Icon_del),#PB_ToolBar_Toggle)
ToolBarImageButton(#editRow, CatchImage(2,?Icon_edit),#PB_ToolBar_Toggle)
EndIf
EndProcedure
TestWin()
Repeat
Ev=WaitWindowEvent()
Until Ev=#PB_Event_CloseWindow
1.) Ich habe aus Gründen der Übersichtlichkeit die Datasection da definiert, wo sie gebraucht wird, innerhalb einer Prozedur. Gibt's damit grundsätzliche Probleme?
2.) Bei CatchImage() habe ich Nummern 0,1,2 angegeben. Es geht aber auch mit der gleichen Nummer wie z.B. 0. Muss ich denn unbedingt verschiedene Nummern nehmen, wenn ich - wie in der Toolbar - auf das Bild an sich gar nicht mehr zugreifen muss?