Hab jetzt was passendes über die API gestrickt
bzw. in der Eile ohne Ordnung zusammengestellt

.
Code: Alles auswählen
;Selektierte Buchstaben ersetzen bzw. färben.
;Codeschnipsel written by Falko
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,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, "Symbol")
EndProcedure
If OpenWindow(0,0,0,322,275,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"StringGadget Flags") And CreateGadgetList(WindowID(0))
hdc.l=EditorGadget (0,8,8,485,385,#PB_Container_Raised)
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,$0000FF)
SendMessage_(hdc,#EM_SETCHARFORMAT,#SCF_SELECTION,mychar); Setzen der Attribute auf selection
SendMessage_(hdc,#EM_REPLACESEL,0,String$); Ersetze diesen Teil duch 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,$FF0000)
SendMessage_(hdc,#EM_SETCHARFORMAT,#SCF_SELECTION,mychar);Chare-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
Hab leider nicht viel Zeit. Heute mal wieder die letzte Nachtschicht für diese Woche.
>>>>> Edit: Wörter oder Buchstaben färben, ersetzen oder andere Fonts
>>>>> vergeben mittels API-Funktionen
MfG Falko