PureWindow

Anfängerfragen zum Programmieren mit PureBasic.
Marie23
Beiträge: 49
Registriert: 31.05.2008 18:14

PureWindow

Beitrag 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
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag 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.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Franky
Beiträge: 1132
Registriert: 29.08.2004 16:31
Wohnort: Münsterland
Kontaktdaten:

Beitrag 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:
Falsch zugeordnetes Zitat des Tages: "O'zapft is" - Edward Snowden :)
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Franky hat geschrieben: Edit2:
SetWindowcolor arbeitet übrigends NICHT mit Buttons :wink:
SetGadgetColor auch nicht :mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

schade... /:->

Warum eigentlich nicht ? (klar stehts nicht in der Liste mit drin, aber ich frage halt warum nicht ?)
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Mok
BotHunter
Beiträge: 1484
Registriert: 26.12.2005 14:14
Computerausstattung: MSI GX780R
Intel Core i5-2410M
Nvidia GT 555M
Windows 7 Home Premium 64 bit
Wohnort:   

Beitrag von Mok »

<OT>
Cool wäre mal PureWindows
Also ein Windows-angelehntes Betriebssystem mit PB geschreiben :D
</OT>
Win 7 Home Premium 64 bit | PureBasic 5.20 - x86 und x86-64 | Firefox [aktuelle stable-Version hier einfügen]
"Jeder macht irgendwann mal Fehler, darum gibt's auch Bleistifte mit Radiergummi." --Carl
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Franky
Beiträge: 1132
Registriert: 29.08.2004 16:31
Wohnort: Münsterland
Kontaktdaten:

Beitrag 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]
Falsch zugeordnetes Zitat des Tages: "O'zapft is" - Edward Snowden :)
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

Besser :-P @Franky
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

@Franky

Das waere dann aber ein PB Problem, Windows hat alles was man dafuer braucht.
Antworten