Textfarbe

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
The_Dark_Zim-.-
Beiträge: 372
Registriert: 18.03.2008 16:53

Textfarbe

Beitrag von The_Dark_Zim-.- »

Hey Ho
hab eine kleine Frage. Wenn ich viele Textgadget's hab und die alle in ein und der selbe Farbe färbe wird das ziehmlich viel. Kann man das nicht mit einem Befehl machen ? Also Text = Rot und alle Texte werden Rot gefärbt.

Guß Zim und danke an alle die Helfen ;)
PB: 5.xx LTS x86/x64 | WIN: 10 Pro x64, Linux Mint x64
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

also Gagdet-NUmmer einfach -1 nehmen ...
aber das muss vorher geschehen ... glaub ich
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
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

STARGÅTE hat geschrieben:also Gagdet-NUmmer einfach -1 nehmen ...
aber das muss vorher geschehen ... glaub ich
da bist Du IMO auf dem selben falschen Dampfer, wie ich es grade war.
Farbe, nicht Font. :lol:

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
The_Dark_Zim-.-
Beiträge: 372
Registriert: 18.03.2008 16:53

Beitrag von The_Dark_Zim-.- »

Also mit Farbe gehts nicht. Vllt sollte man einfach eine "for next" Schleife machen ?
PB: 5.xx LTS x86/x64 | WIN: 10 Pro x64, Linux Mint x64
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

The_Dark_Zim-.- hat geschrieben:Vllt sollte man einfach eine "for next" Schleife machen ?
japp. Bietet sich bei TextGadgets sowieso an (sofern Du sie nicht im weiteren
Verlauf verwenden willst). Diese kannst Du dann mit #PB_ANY erstellen.

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
The_Dark_Zim-.-
Beiträge: 372
Registriert: 18.03.2008 16:53

Beitrag von The_Dark_Zim-.- »

Geht wunderbar :)

Code: Alles auswählen

        For gadget = 12 To 22
        SetGadgetColor(gadget, #PB_Gadget_BackColor, RGB(0, 0, 100))
        SetGadgetColor(gadget, #PB_Gadget_FrontColor, RGB(255, 255, 255))
        Next
Gruß Zim und danke an alle ;)
PB: 5.xx LTS x86/x64 | WIN: 10 Pro x64, Linux Mint x64
marco2007
Beiträge: 906
Registriert: 26.10.2006 13:19
Kontaktdaten:

Beitrag von marco2007 »

Du könntest auch das hier machen:

Code: Alles auswählen

Enumeration
  #erster_Eintrag
  #String_0
  #text_1
  ....
  ...
  ...
  ...
  #Gadget_1
  #letzter_Eintrag_der_Enumeration
EndEnumeration


For gadget = #erster_Eintrag To #letzter_Eintrag_der_Enumeration
  If GadgetType(gadget)=#PB_GadgetType_Text
    SetGadgetColor(gadget, #PB_Gadget_BackColor, RGB(0, 0, 100)) 
    SetGadgetColor(gadget, #PB_Gadget_FrontColor, RGB(255, 255, 255)) 
  EndIf
Next
...dann ist`s egal, welche Nummer die Textgadgets haben.
Windows 11 - PB 6.03 x64
_________________________________
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Ich hab das auch immer so wie marco2007 gemacht.
Aber da es ja auch #PB_Compiler_EnumerationValue gibt, möchte ich das hier demonstrieren. Einfach als letztes vor deine Event-Schleife setzen:

Code: Alles auswählen

For n=0 To #PB_Compiler_EnumerationValue
	If GadgetType(n) = #PB_GadgetType_Text
		SetGadgetColor(n, #PB_Gadget_BackColor, RGB(0, 0, 100))
		SetGadgetColor(n, #PB_Gadget_FrontColor, RGB(255, 255, 255))
	EndIf
Next
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

ich würde trotzdem die von Kiffi vorgeschlagene Variante vorziehen.

alle Gadgets mit Statischer Anzahl kann mit mit einer normalen Enumeration erzeugen,
diejenigen die man in einer Schleife ansprechen will, erzeugt man mit #PB_Any
und rückspeichert die ID in einem Array oder einer Liste.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Rote Textgadgets kann man sich aber am einfachsten mit Macros erstellen:

Code: Alles auswählen

Macro RedTextGadget(ID, x, y, width, height, Text, Flags)
   ; ...
EndMacro
Was in das Macro kommt, kann man sich ja denken. :mrgreen:
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Antworten