Seite 1 von 1
ToolBar Image ändern
Verfasst: 28.08.2013 19:09
von IronEagle
Hallo Leute,
gibt es eine einfache Möglichkeit, dass Image eines "ToolBarImageButton" zur Laufzeit zu ändern ohne das ich den Button freigeben und neu erstellen muss ?
Ich hoffe ihr könnt mir weiterhelfen

Re: ToolBar Image ändern
Verfasst: 28.08.2013 19:31
von ts-soft
Nativ ist es wie mit Menüs, Toolbar freigeben und Neu erstellen.
Sollte aber kein Problem sein und fällt auch normalerweise nicht auf.
Re: ToolBar Image ändern
Verfasst: 28.08.2013 19:36
von IronEagle
ts-soft hat geschrieben:Nativ ist es wie mit Menüs, Toolbar freigeben und Neu erstellen.
Sollte aber kein Problem sein und fällt auch normalerweise nicht auf.
Erstmal vielen Dank für die schnelle Antwort
Ist das dann jetzt eine gängige Methode oder eher eine "Von hinten durch die Brust ins Auge" Sache?

Re: ToolBar Image ändern
Verfasst: 28.08.2013 19:37
von RSBasic
Oder natürlich mit Hilfe von WinAPI:
Code: Alles auswählen
EnableExplicit
Define EventID
If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
If CreateToolBar(1, WindowID(0))
ToolBarStandardButton(0, #PB_ToolBarIcon_New)
ToolBarStandardButton(1, #PB_ToolBarIcon_Open)
ToolBarStandardButton(2, #PB_ToolBarIcon_Save)
EndIf
ButtonGadget(1, 10, 30, 200, 20, "Bild eines ToolBar-Items ändern", 0)
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_Gadget
Select EventGadget()
Case 1
SendMessage_(ToolBarID(1), #TB_CHANGEBITMAP, 2, 5)
EndSelect
EndIf
If EventID = #PB_Event_CloseWindow
End
EndIf
ForEver
EndIf
Re: ToolBar Image ändern
Verfasst: 28.08.2013 19:41
von ts-soft
IronEagle hat geschrieben:Ist das dann jetzt eine gängige Methode oder eher eine "Von hinten durch die Brust ins Auge" Sache?

Hab ich bisher immer so gehandhabt und kann da auch keinen Unterschied erkennen, ob die ganze Toolbar oder nur ein
Button neugezeichnet wird. Bei Extremen Toolbars mags wohl nicht stimmen, aber die sind sowieso nur per API zu
erstellen.
Re: ToolBar Image ändern
Verfasst: 28.08.2013 19:45
von IronEagle
Wäre es bei diesem API-Befehl auch möglich, ein mit "CatchImage" geladenes Icon zu verwenden.
Habe gerade mal probiert als lParam meine ImageID zu verwenden... Leider ohne Erfolg

Re: ToolBar Image ändern
Verfasst: 28.08.2013 20:08
von ts-soft
Dafür mußt Du eine ImageList erstellen. Wenn Du diese aber der PB Toolbar zuweist, wirst Du die Images nicht
mehr freigeben können, also Speicherleak.
Hilft also nur eine komplett per API erstellte Toolbar, gibts wohl auch Beispiele im engl. Forum.
Viel Aufwand für nichts
Ansonsten hier mal schauen:
http://msdn.microsoft.com/en-us/library ... 85%29.aspx
oder einen Container mit flachen Buttons, siehe:
http://www.purebasic.fr/english/viewtop ... 35#p405635
das wäre wieder Crossplattform.