[PBOSL] TBPro Icons

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
univeda
Beiträge: 21
Registriert: 03.05.2009 18:17

[PBOSL] TBPro Icons

Beitrag 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?
Benutzeravatar
univeda
Beiträge: 21
Registriert: 03.05.2009 18:17

Beitrag 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?
walker
Beiträge: 278
Registriert: 29.08.2004 18:39
Wohnort: Bayern

Beitrag 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! /:->
Benutzeravatar
univeda
Beiträge: 21
Registriert: 03.05.2009 18:17

Beitrag 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.
walker
Beiträge: 278
Registriert: 29.08.2004 18:39
Wohnort: Bayern

Beitrag 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?
Benutzeravatar
univeda
Beiträge: 21
Registriert: 03.05.2009 18:17

Beitrag 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
Antworten