Hi,
am besten nimmst du das Scintilla Gadget und suchst hier mal nach Syntax Highlighting...
Gruß
Scarabol
Farbische texte in textgadget?
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
k.o.e.i.g2 hat geschrieben:brauch es aber weil es ein editor werden soll da kann ichs net auf ein bild doer webgagdet oder sowas machen o.O unlogisch dat schon vorzuschlagen...

im geringsten unlogisch. Das einzig unlogische sind momentan Deine
Anfragen. Ursprünglich hast Du nach einem TextGadget() gefragt.
Jetzt auf einmal soll's ein Editor werden.
Ich würde empfehlen, dass Du Dir mal in Ruhe die PB-Hilfe zu Gemüte
führst und die 'Fachbegriffe' lernst (zumindest den Unterschied zwischen
TextGadget() und StringGadget() (bzw. EditorGadget())), bevor Du das
nächste mal ein Posting absetzt.
Und noch was: Ab und zu einen Punkt oder ein Komma zu setzen tut nicht
weh!
Um zum eigentlichen Thema "Farbische (!sic) texte in textgadget?"
zurückzukommen (oversized version):
Code: Alles auswählen
HTMLTemplate.s = "<html><body scroll='no' leftmargin='5' topmargin='0' marginwidth='0' marginheight='0'>#TEXT#</body></html>"
OpenWindow(0, #PB_Ignore, #PB_Ignore, 250, 120, "", #PB_Window_ScreenCentered | #PB_Window_SystemMenu | #PB_Window_Invisible)
CreateGadgetList(WindowID(0))
WebGadget(0, 5, 5, 80, 20, "")
Text.s = ReplaceString(HTMLTemplate, "#TEXT#", "<font color='red'>Pure</font><font color='green'>Ba</font><font color='blue'>sic:</font>")
SetGadgetItemText(0, #PB_Web_HtmlCode, Text)
StringGadget(1, 90, 5, 120, 20, "Feel the pure power!")
While WindowEvent() : Delay(1) : Wend
HideWindow(0, #False)
Repeat
Until WaitWindowEvent()=#PB_Event_CloseWindow
a²+b²=mc²
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
des is ja auchn Handkäs, dass ich das riechen kann was du machen willst.k.o.e.i.g2 hat geschrieben:brauch es aber weil es ein editor werden soll da kann ichs net auf ein bild doer webgagdet oder sowas machen o.O unlogisch dat schon vorzuschlagen...
weiste, wenn man in nem forum fragen stellt, dann erklärt man auch was dazu,
damit die anderen wissen, worauf man hinaus will.
und auf jeden fall bleibt man freundlich.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
Aber Kiffi... tststs... Du bist doch Vater.Kiffi hat geschrieben:Farbische (!sic) texte in textgadget?
Liest Du deine(m|n|r) lütten keine Kindergeschichten mehr vor?
[ducken]
Farbisch ist die Sprache der Farbwesen vom Planeten Indigo, dem Traumplanet der Farbforscher, wie man hier problemlos recherchieren kann.
Vielleicht war/ist k.o.e.i.g2 ja auf der "Kinder Uni im Netz"

[/ducken]
SCNR...
Ich bin blutiger PB-Anfänger.
seit 17.12.08: PB 4.3 unter XP Home(SP3)
seit 17.12.08: PB 4.3 unter XP Home(SP3)
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
- Falko
- Admin
- Beiträge: 3535
- 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.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit) - Kontaktdaten:
Wenn es auch was Älteres tut, was die API benutzt, vorausgesetzt du hast keine Demo, probiere dieses mal aus. Ich habe den alten Source mal an
PB4 angepasst
Hier der Link aus der Forumssuche:
http://www.purebasic.fr/german/viewtopi ... =5908#5908
Und hier etwas aktualisiert nach PB4 mit API:
Gruß Falko
PB4 angepasst

Hier der Link aus der Forumssuche:
http://www.purebasic.fr/german/viewtopi ... =5908#5908
Und hier etwas aktualisiert nach PB4 mit API:
Code: Alles auswählen
;Selektierte Buchstaben ersetzen bzw. färben.
;Codeschnipsel written by Falko
;Angepasst nach PB4 (14.4.2008
String$="Mein Test"
Buffer$=Space(255)
Global hdc
Global mychar.CHARFORMAT
;
;Ermittle die Anzahl Buchstaben der obrigen Zeile
;
Procedure.l GetCursorPos(YPos.l)
Result = SendMessage_(hdc,#EM_LINEINDEX,YPos,0)
ProcedureReturn Result
EndProcedure
;
; Farbe und Fontattribute setzen
Procedure SetCharFormat(Mask.l,Effects.l,Font.s,Color.l)
;mychar.CHARFORMAT ; Sollte vorher als global deklariert werden.
mychar\cbSize=SizeOf(CHARFORMAT)
mychar\dwMask=Mask;#CFM_BOLD|#CFM_COLOR ; Fettschrift und Color setzen
mychar\dwEffects=Effects
mychar\yHeight=500
mychar\crTextColor=Color
mychar\bCharSet=0
PokeS(@mychar\szFaceName, Font)
EndProcedure
If OpenWindow(0,0,0,322,275,"StringGadget Flags",#PB_Window_SystemMenu|#PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
hdc.l=EditorGadget (0,8,8,485,385)
AddGadgetItem(0,0,"Wie wäre es mit dieser Zeile, die wir ändern wollen.")
AddGadgetItem(0,1,"Wie wäre es mit dieser Zeile, die wir ändern wollen.")
AddGadgetItem(0,2,"Wie wäre es mit dieser Zeile, die wir ändern wollen.")
;
;In dieser Zeile ein Teilstring, Farbe und Fontattribut verändern
;
Char=GetCursorPos(1)
SendMessage_(hdc,#EM_SETSEL,Char+16,Char+28); markiere Textteil, der geändert werden soll
SetCharFormat(#CFM_BOLD|#CFM_COLOR,1,"Arial",$0000FF);Farbe auswählen
SendMessage_(hdc,#EM_SETCHARFORMAT,#SCF_SELECTION,mychar); Setzen der Attribute auf selection
SendMessage_(hdc,#EM_REPLACESEL,0,String$); Ersetze diesen Teil durch den String$
;
;Textteil Markieren und durch nur Farbe Blau und Fontattribute ersetzen
;
Char=GetCursorPos(2)
SendMessage_(hdc,#EM_SETSEL,Char+8,Char+8+8); markiere Textteil, der gefärbt werden soll
SetCharFormat(#CFM_FACE | #CFM_SIZE | #CFM_COLOR,1,"Symbol",$FF0000)
SendMessage_(hdc,#EM_SETCHARFORMAT,#SCF_SELECTION,mychar);Char-Attribute setzen
SendMessage_(hdc,#EM_GETSELTEXT,0,Buffer$); kopiere Selektieren Text in den Buffer
SendMessage_(hdc,#EM_REPLACESEL,0,Buffer$); ersetze Text dann aus dem Buffer mit den Attributen
Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow
EndIf