Seite 1 von 1
Frame3DGadget farbig machen
Verfasst: 30.10.2006 16:19
von dysti
Hallo,
Wie kan man ein Frame3DGadget farbig machen?
Code: Alles auswählen
If OpenWindow(0, 0, 0, 320, 250, "Frame3DGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CreateGadgetList(WindowID(0))
Frame3DGadget(0, 10, 10, 300, 50, "Frame3DGadget Standard")
Frame3DGadget(1, 10, 70, 300, 50, "", #PB_Frame3D_Single)
Frame3DGadget(2, 10, 130, 300, 50, "", #PB_Frame3D_Double)
Frame3DGadget(3, 10, 190, 300, 50, "", #PB_Frame3D_Flat)
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
Verfasst: 30.10.2006 16:56
von Fluid Byte
Normalerweise mit SetGadgetColor() aber ich sehe gerade does Fame gadgets nicht unterstüzt werden.
Was soll den farbig dargestellt werden? Nur der Hintergrund oder auch der Rahmen und Text?
Verfasst: 30.10.2006 17:27
von a14xerus
farbe functioniert nicht mit alen gadgets und ist zum einfärben eines ganzen Fensters nicht zu empfehlen.
Ich würde die PBOSL Purecolor lib benutzen, allerdings überschreibt diese den XP style.
Ansonsten die SkinWin Lib
Verfasst: 30.10.2006 18:53
von Kaeru Gaman
ich sehe hier ein kernproblem beim einfach-mal-eben-farbig-machen
gegenüber einem kompletten skinning.
das Frame3DGadget ist dazu ausgelegt, mit den systemfarben zu arbeiten.
eine andere farbgebung würde ich da doch über möglichst sanftes skinning lösen,
eventuell über ein selbsterstelltes gadget.
aber da es ja mit den farben der gesamten GUI harmonieren muss,
lieber gleich komplett skinnen.
(oder komplett sein lassen, es gibt nur wenige anwendungsbereiche, wo skinning wirklich maßgeblich ist)
Verfasst: 30.10.2006 19:21
von dysti
so hatte ich es gemeint. Wollte sowas machen wie bei den Officepaketen. Links sollte später das Framegadget angeordnet werden. Paar Grafiken innerhalb zum anklicken. Ich hoffe, ihr versteht was ich meine. Vielleicht wird das ja auch ganz anders gemacht.
Code: Alles auswählen
f OpenWindow(0, 0, 0, 320, 250, "Frame3DGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CreateGadgetList(WindowID(0))
Frame3DGadget(#frame1, 10, 10, 300, 50, "Frame3DGadget Standard")
setfarbe(#frame1,........
Frame3DGadget(1, 10, 70, 300, 50, "", #PB_Frame3D_Single)
Frame3DGadget(2, 10, 130, 300, 50, "", #PB_Frame3D_Double)
Frame3DGadget(3, 10, 190, 300, 50, "", #PB_Frame3D_Flat)
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
Verfasst: 31.10.2006 14:33
von dysti
Hallo,
hier die Lösung. Habe nur ein falsches Gadget benutzt.
Code: Alles auswählen
Procedure OpenWindow_Window_0()
If OpenWindow(#Window_0, 883, 284, 400, 400, #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_TitleBar, "#Window_0")
If CreateGadgetList(WindowID(#Window_0))
Frame3DGadget(#Frame3DGadget_1, 15, 250, 190, 125, "Gadget_1")
ContainerGadget(#ContainerGadget_0, 55, 35, 290, 280, #PB_Container_Raised)
CloseGadgetList()
; Gadget Colors
PureCOLOR_SetGadgetColor(#ContainerGadget_0, #PureCOLOR_SystemColor, $FFFF)
PureCOLOR_SetGadgetColor(#Frame3DGadget_1, #PureCOLOR_SystemColor, $FF)
EndIf
EndIf
EndProcedure