Modify substring of field's text using pgTBObjSet() ?

I need to match some native Toolbook functionality that changes the color of a substring of text in a display field. The color change is in response to a User Event. It is currently done by defining the substring as a hotword. One can then set rgbStroke of text of hotword "h1" to Red, for example. Any rich text formatting other than color is preserved, as is any text scrolling position.
Toolbook Actions seem to be no help here, but it looks like pgTBObjSet can accomplish this by setting the htmlText property. I'd have the substrings pre-built in html with the appropriate colors, and concatenate them as needed to update the field's text.
Because this will be needed many times, I want to ask if there might be a better way. Besides possible flicker and a possible need to reestablish the text scroll position, it just seems like a lot of fuss compared to the implementation in native Toolbook.
Please know that I am very happy that PowerPac allows me to do this at all. I just want to make sure I am using it in the best way.
Thanks, Andy
Toolbook Actions seem to be no help here, but it looks like pgTBObjSet can accomplish this by setting the htmlText property. I'd have the substrings pre-built in html with the appropriate colors, and concatenate them as needed to update the field's text.
Because this will be needed many times, I want to ask if there might be a better way. Besides possible flicker and a possible need to reestablish the text scroll position, it just seems like a lot of fuss compared to the implementation in native Toolbook.
Please know that I am very happy that PowerPac allows me to do this at all. I just want to make sure I am using it in the best way.
Thanks, Andy