Seite 1 von 1

[PBOSL] TBPro Icons

Verfasst: 19.05.2009 10:50
von univeda
Hallo zusammen,

ich versuche mit der PBOSL eine ToolbarPro zu erzeugen. Klappt auch, nur leider hab ich keine Ahnung wie ich ein ToolBarImage mit separat gespeicherter transparenter MASK erstelle. Als Ausgangsmaterial habe ich Icons im png-Format, die möchte ich transparent auf der ToolbarPro darstellen.

Mit welchen Tools sind die TB.bmp und TBMASK.bmp in den ToolbarPro Examples der PBOSL erzeugt worden?

Hat da jemand eine Idee?

Verfasst: 20.05.2009 11:54
von univeda
Ich habe nun eine Behelfs-Lösung gefunden (kleines PB-Tool von Danilo, erstellt aus einem BMP die passende MASK). Kennt jemand noch eine bessere Lösung zur Erstellung Toobar-tauglicher Icons (Image-Strip mit entsprechender Mask, evtl. auch als png)?

Ein weiteres Problem habe ich bei der Toolbar aber noch. Ich habe testweise drei Buttons hinzugefügt, es wird allerdings bei allen Buttons das Icon von Button 3 angezeigt.

Code: Alles auswählen

CreateTB(#ToolBar, WindowID(#MainWnd), 24, 24)

image1 = LoadImage(1, "res\toolbar\customer.bmp")
image2 = LoadImage(2, "res\toolbar\customerMask.bmp")
SetTBimage(image1, image2, #TBpro_NORMAL)
AddTBbutton(#BtnCustomer, 1, #TBpro_BUTTON)

image3 = LoadImage(3, "res\toolbar\server.bmp")
image4 = LoadImage(4, "res\toolbar\serverMask.bmp")
SetTBimage(image3, image4, #TBpro_NORMAL)
AddTBbutton(#BtnServer, 1, #TBpro_BUTTON)

image5 = LoadImage(5, "res\toolbar\locations.bmp")
image6 = LoadImage(6, "res\toolbar\locationsMask.bmp")
SetTBimage(image5, image6, #TBpro_NORMAL)
AddTBbutton(#BtnLocation, 1, #TBpro_BUTTON)
Was hab ich da falsch verstanden?

Verfasst: 21.05.2009 01:11
von walker
Ohne das jetzt prüfen zu können... aber du musst bei

Code: Alles auswählen

AddTBbutton(#BtnLocation, 1, #TBpro_BUTTON)
die Nummer des Images angeben ... das ist jedesmal 1 ... also wird auch immer das gleiche angezeigt! /:->

Verfasst: 21.05.2009 12:03
von univeda
Das hab ich vorher auch schon mit fortlaufender Nummer probiert, es wird übrigens nicht das erste sondern immer das letzte mit SetTBImage geladene Icon auf allen Buttons angezeigt.

Ich habe das aber jetzt anders und ohne die ToolbarPro gelöst. Ich habe das ein kleines Macro im englischen Forum gefunden:

Code: Alles auswählen

Macro SetToolBarIconSize(ToolBar, IconSize) 
    
   SendMessage_(ToolBarID(ToolBar), #TB_SETBITMAPSIZE, 0, (IconSize << 16) + IconSize) 
   ImageList_SetIconSize_(SendMessage_(ToolBarID(ToolBar), #TB_GETIMAGELIST, 0, 0) , IconSize , IconSize) 
   SendMessage_(ToolBarID(ToolBar), #TB_AUTOSIZE, 0, 0) 
    
EndMacro
Damit lässt sich wunderbar eine beliebig anpassbare Toolbar erstellen:

Code: Alles auswählen

If CreateToolBar(#ToolBar, WindowID(#MainWnd))
		  SetToolBarIconSize(#ToolBar, 32) 
Danke trotzdem.

Verfasst: 21.05.2009 16:57
von walker
SetTBImage ist NICHT für einzelne Images gedacht .....
Wie sieht den Dein Image bzw. alle Images aus? Hast Du die Toolbar mit der Größe angelegt, die Deine Images haben?

Verfasst: 21.05.2009 17:21
von univeda
Meine Toolbar besteht aus einzelnen .ico-Dateien.

Meine aktuelle Lösung verwendet ja wie gesagt die ToolbarPro nicht mehr, mit der Macro-Lösung (SetToolBarIconSize) setzte ich die IconSize auf die benötigte Größe (in meinem Fall 32x32).

So sieht das aus:

Bild