Das liegt daran, dass nicht das ReadOnly-Flag verwendet wurde, sondern DisableGadget(). Bei dieser Funktion wird das Gadget immer Grau (oder welche Farbe auch immer vom System vorgegeben wird) hinterlegt.
Die Frage ist, was dir lieber ist. Ein passives Gadget, wie das TextGadget, oder ein farbiges Gadget, bei dem man aber immernoch den Cursor blinken sieht, wenn man drauf klickt und den Text markieren und Kopieren kann.
Also, in dem TextGadgetEx()-Code DisableGadget() entfernen und dann beim Aufruf von TextGadgetEx() nach OpenWindow() einfach #PB_Editor_ReadOnly als flag hinzufügen.
Dann klappt auch SetGadgetColor().
Guck dir mal diesen Code an: Keine vollwertige Lib, aber vielleicht hilft's dir ja schon. Der Code wandelt einfachen HTML-Code um.
Das heißt <b,i,u,s> und <color>
Die Farben für color müssen vorher definiert werden mit AddColor() und dann mit <color=myColor> anstatt <color=#FF0000>Rot</color> eingesetzt werden.
Ist auf jeden Fall einfacher als den kompletten Text in RTF zu formatieren
PS: Aber warum geht das nur im Ascii-Modus? Ist doch stinknormaler Text, ist das EditorGadget, oder gar das entsprechende WindowsControl zu blöde für Unicode? Das ist ja beunruhigend, da Fred den Ascii-Support in der nächsten LTS Version einstellt. Dann ist nichts mehr mit RTF Formatierunge im EditorGadget und es wird zum Multiline StringGadget reduziert.