Probably the easiest widget to use here is the text% class (you'll need an editor-canvas% for it too). Look at change-style and related methods to see how to change the styling of a particular piece of text.
Example:
#lang racket/gui
(define frame (new frame% [label "Test"] [width 300]
[height 300]))
(define text (new text%))
(define canvas (new editor-canvas% [parent frame]
[editor text]))
(define style-delta (make-object style-delta%
'change-normal-color))
;; do some red
(send style-delta set-delta-foreground "red")
(send text change-style style-delta)
(send text insert "Hello world in red\n")
;; do some blue
(send style-delta set-delta-foreground "blue")
(send text change-style style-delta)
(send text insert "Now available in blue")
(send frame show #t)