Thanks, beckadam, that helped!
However, I have run up against another problem that I am not sure how to solve. When I print a clue, solve the lock, and print the next clue, the previous clue is not erased. The next clue just draws over it, and whatever it does not cover of the previous clue appears.
My first idea was to draw a white rectangle over it between clue printing. This would, in theory, erase the previous clue, leaving a clean slate for the next. In practice, no. It appears that when the text data is written to the screen and a graphics command draws something over it, the text data is somehow remembered by the calculator. The next invocation of the SetTextFGColor( and SetTextBGColor( for the next clue makes the old clue magically reappear.
Next, I tried copying the screen to the buffer, repeating what I did above, and SwapDraw-ing. This would, I thought, force the calculator to forget the old clue data. In practice, no.
Lastly, I tried invoking the SetTextFGColor( and SetTextBGColor(
before drawing the white rectangle, thinking that the old clue text would display to be instantly covered by the rectangle. In practice,... ...no.
I hate to keep on pestering everyone with questions, but this problem has nearly floored me. What do you suggest?