Kann man in einem StringGadget (oder anderem) die Farbe ändern und wenn wie?
Am besten merfach ändern, so das in einem StringGadget z.B. ein bestimmtes Wort Grün und ein bestimmtes Wort Blau und dick gekennzeichnet wird.
Gibt es da möglichkeiten? Könnte man das mit einem Programmiertext regeln?
Eingabe Farbe ändern (mehrfach)
-
- Beiträge: 13
- Registriert: 23.08.2005 16:27
- Kontaktdaten:
Eingabe Farbe ändern (mehrfach)
Ein kleines Programmier-Forum.
http://leonhard.le.ohost.de/phpkit/
http://leonhard.le.ohost.de/phpkit/
nein, das geht nicht.
du solltest den textgadget mal mit
"SetGadgetFont" und "LoadFont" modifizieren. schau mal in der hilfe. mit dieser methode kannst du sogar den etxt im textgadget unterstrichen machen oder fett oder kkursiv (oder alles zusammen).
oder nimm statt eines textgadgets einfach ein hyperlinkgadget.
da kannst du als letzten parameter angeben, welche farbe der text haben soll, wenn man mit der maus darüber fährt.
mehr möglichkeiten weiß ich nicht, außer noch die eine, dass du in einem OpenWindow-fenster (das wolltest du doch, oder) mit StartDrawing() rumwerkelst, da kannst du tatsächlich besser die farbe wechseln, diese methode ist übrigens nicht so aufwendig wie die anderen methoden, die ich dir genannt habe.
ich hoffe ich konnte dir helfen, ansonsten poste hier nochmal, AND51
(sry für die rechtschreibfehler, aber ich bin meistens sehr faul so längere texte ordnungsgemäß zu schreiben)
du solltest den textgadget mal mit
"SetGadgetFont" und "LoadFont" modifizieren. schau mal in der hilfe. mit dieser methode kannst du sogar den etxt im textgadget unterstrichen machen oder fett oder kkursiv (oder alles zusammen).
oder nimm statt eines textgadgets einfach ein hyperlinkgadget.
da kannst du als letzten parameter angeben, welche farbe der text haben soll, wenn man mit der maus darüber fährt.
mehr möglichkeiten weiß ich nicht, außer noch die eine, dass du in einem OpenWindow-fenster (das wolltest du doch, oder) mit StartDrawing() rumwerkelst, da kannst du tatsächlich besser die farbe wechseln, diese methode ist übrigens nicht so aufwendig wie die anderen methoden, die ich dir genannt habe.
ich hoffe ich konnte dir helfen, ansonsten poste hier nochmal, AND51
(sry für die rechtschreibfehler, aber ich bin meistens sehr faul so längere texte ordnungsgemäß zu schreiben)
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
- Hroudtwolf
- Beiträge: 1416
- Registriert: 30.10.2004 23:33
- Kontaktdaten:
Zum Fären von Gadgetinhalten kann dir dieser Code zum Verständniss helfen.
Das mit den einzelnen Buchstaben Färben geht auch ist aber sehr kompliziert.
Ich hab das glaube ich schonmal in Freds PureBasic Forum gesehen.
Einen Tip geben kann ich dir aber schonmal....
Nimm ein Stringgadget ohne Rahmen und auf Readonly gesetzt.
Du könntest dan den Fontstyle Buchstabenweise per Sendmessage ändern. (Siehe Code 2)
(code 1)
(Code 2)
Beispiel zu Code 2: (ungetestet)
Das mit den einzelnen Buchstaben Färben geht auch ist aber sehr kompliziert.
Ich hab das glaube ich schonmal in Freds PureBasic Forum gesehen.
Einen Tip geben kann ich dir aber schonmal....
Nimm ein Stringgadget ohne Rahmen und auf Readonly gesetzt.
Du könntest dan den Fontstyle Buchstabenweise per Sendmessage ändern. (Siehe Code 2)
(code 1)
Code: Alles auswählen
; English forum: http://purebasic.myforums.net/viewtopic.php?t=8181&highlight=
; Author: Berikco
; Date: 04. November 2003
OpenWindow(0,100,150,400,400,#PB_Window_SystemMenu,"TEST")
Global Yellow, Green, blauw
Yellow = CreateSolidBrush_($66E8FB)
Green = CreateSolidBrush_($7BDF84)
blauw=CreateSolidBrush_($E5B91A)
Procedure myCallback(WindowID, Message, wParam, lParam)
Result = #PB_ProcessPureBasicEvents
Select Message
Case #WM_CTLCOLORSTATIC
Select lparam
Case GadgetID(1)
SetBkMode_(wParam,#TRANSPARENT)
SetTextColor_(wParam, $FFFFFF)
Result = Yellow
Case GadgetID(4)
SetBkMode_(wParam,#TRANSPARENT)
SetTextColor_(wParam, $FFFFFF)
Result = blauw
EndSelect
Case #WM_CTLCOLOREDIT
Select lparam
Case GadgetID(3)
SetBkMode_(wParam,#TRANSPARENT)
SetTextColor_(wParam, $FFFFFF)
Result = green
EndSelect
EndSelect
ProcedureReturn Result
EndProcedure
SetWindowCallback(@myCallback())
CreateGadgetList(WindowID())
TextGadget(1,10,10,100,15,"Hoegaarden",#PB_Text_Center)
TextGadget(2,120,10,100,15,"Jupiler",#PB_Text_Center)
StringGadget(3, 10, 40, 200, 40, "Goedendag allemaal, voor mij een pintje" , #PB_String_Multiline)
CheckBoxGadget(4, 10, 90,100, 20, "Beer Here")
Repeat
Until WaitWindowEvent() = #PB_EventCloseWindow
; ExecutableFormat=Windows
; EnableXP
; EOF
(Code 2)
Code: Alles auswählen
Procedure Editor_Color(Gadget, Color.l)
format.CHARFORMAT
format\cbSize = SizeOf(CHARFORMAT)
format\dwMask = #CFM_COLOR
format\crTextColor = Color
SendMessage_(GadgetID(Gadget), #EM_SETCHARFORMAT, #SCF_SELECTION, @format)
EndProcedure
Beispiel zu Code 2: (ungetestet)
Code: Alles auswählen
String.s="Die ist ein Test"
For x=1 To Len(String.s)
Editor_Color(#deineditorgadget, rgb(100+random(155),100+random(155),100+random(155))) SendMessage_(GadgetID(#deineditorgadget),#EM_REPLACESEL,0,mid(String.s,x,1))
next x
- 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
Hierfür ist ein EditorGadget geeigneter, also für verschiedenen Farben in einer Zeile. Du kannst zur Umsetzung zum Beispiel die hervorragende AVEditor Lib von A.Miethe verwenden oder für sowas wie Syntaxhighlightning die Syntaxhighlightning Lib von DarkDragon. Findeste alles auf PureArea.net.
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.
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Wow, dagegen sieht meine Hilfe ja alt aus
Aber akzeptabel ist sie doch oder?
Aber akzeptabel ist sie doch oder?
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
- Falko
- Admin
- Beiträge: 3531
- Registriert: 29.08.2004 11:27
- Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.0 - Kontaktdaten:
Ich habe jetzt nicht diesen ganzen Thread durchgelesen.
Entschuldige dann bitte, wenn hier nichts zutrifft. Aber Schau mal hier im
folgenden Link.
http://forums.purebasic.com/german/view ... text+color
Hier ist bestimmt sowas ähnliches dabei.
MfG Falko
Entschuldige dann bitte, wenn hier nichts zutrifft. Aber Schau mal hier im
folgenden Link.
http://forums.purebasic.com/german/view ... text+color
Hier ist bestimmt sowas ähnliches dabei.
MfG Falko