Seite 1 von 2
PureWindow
Verfasst: 07.06.2008 16:55
von Marie23
Hi,
wie kann ich bei PureBasic die Hintergrundfarbe von einem Fenster
und einem Button verändern? Der Visual Designer hat keine solche Funktion.
Gruss Marie
Verfasst: 07.06.2008 17:01
von STARGÅTE
PB-Hilfe:
Syntax
SetWindowColor(#Window, Farbe)
Beschreibung
Ändert die Hintergrundfarbe des angegebenen Fensters '#Window'
[...]
Syntax
SetGadgetColor(#Gadget, FarbTyp, Farbe)
Beschreibung
Ändert das durch 'FarbTyp' spezifierte Farb-Attribut des angegebenen '#Gadget'.
[...]
Zum weiterlesen bitte die Hilfe benutzen.
Verfasst: 07.06.2008 17:03
von Franky
Hi Marie23.
Frage: Welche Version hast du?
Ab Version 4(?) aufwärts gibt es SetWindowColor(Fenster,Farbe)
Bei den Buttons würd ich jetzt mal sagen, musst du auf ein ButtonImage-Gadget umsteigen und einfach deinen Text auf ein Bild mit passender Hintergrundfarbe setzen. Dazu gibt´s glaub ich aber auch irgendwelche Librarys
Mfg
Franky
Edit:
VERDAMMT, Stargate
Edit2:
SetWindowcolor arbeitet übrigends
NICHT mit Buttons

Verfasst: 07.06.2008 17:16
von ts-soft
Franky hat geschrieben:
Edit2:
SetWindowcolor arbeitet übrigends
NICHT mit Buttons

SetGadgetColor auch nicht

Verfasst: 07.06.2008 17:25
von STARGÅTE
schade...
Warum eigentlich nicht ? (klar stehts nicht in der Liste mit drin, aber ich frage halt warum nicht ?)
Verfasst: 07.06.2008 17:28
von Mok
<OT>
Cool wäre mal PureWindow
s
Also ein Windows-angelehntes Betriebssystem mit PB geschreiben
</OT>
Verfasst: 07.06.2008 17:28
von ts-soft
> Warum eigentlich nicht ?
Wurde so von MS für Standard-Buttons nicht vorgesehen. ImageButton,
reinmalen und gut, das entspricht dann auch in etwa dem, was MS da
vorsieht, userbuttons.
Verfasst: 07.06.2008 17:50
von Franky
An sich ist das ButtonImageGadget aber nicht ausreichend, um eine Hinreichend colorierte GUI zu schaffen:
Code: Alles auswählen
Procedure ButtonColorGadget(id,x,y,width,height,text.s,bgfarbe.l,frontfarbe.l,attribute=0)
i_id=CreateImage(#PB_Any,width,height)
StartDrawing(ImageOutput(i_id))
Box(0,0,width,height,bgfarbe)
FrontColor(frontfarbe)
DrawingMode(1)
DrawText((width-TextWidth(text))/2,(height-TextHeight(text))/2,text)
StopDrawing()
ProcedureReturn ButtonImageGadget(id,x,y,width,height,ImageID(i_id),attribute)
EndProcedure
If OpenWindow(1,100,100,200,200,"Test")
SetWindowColor(1,RGB(255,0,0))
CreateGadgetList(WindowID(1))
ButtonColorGadget(1,100,100,30,30,"OK",RGB(255,0,0),RGB(255,0,0))
Repeat
event=WaitWindowEvent()
Until event=#WM_CLOSE
EndIf
Microsoft halt, aber wat will man machen
@Stargate: Schönes Zitat heute übrigends

[quote][/quote]
Verfasst: 07.06.2008 18:06
von STARGÅTE
Besser :-P @Franky
Verfasst: 07.06.2008 18:28
von edel
@Franky
Das waere dann aber ein PB Problem, Windows hat alles was man dafuer braucht.