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 :wink:

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

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 PureWindows
Also ein Windows-angelehntes Betriebssystem mit PB geschreiben :D
</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 :roll:


@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.