Selection without allowing input: Label vs TextField

Currently, I have a listbox filled with UNICODE characters. When a cell is clicked, its content (always a UNICODE character, never a normal “letter”) is added to the text property of a textarea.

I do not want to allow the user to type inside the textarea as it msut only contain these special UNICODE chars, BUT I want to allow the user to insert the cursor and delete a character if need be (rather than making him clear the text and start over).

So, I’m sort of looking for a READ-ONLY textarea which still allows left and right arrow keys and the delete (backdelete, I’m using OS X). Ideally, I want to allow all the normal user actions of selecting and deleting text. (Not sure I want to allow pasting, but am open to knowing how to allow that, too.)

What can I do? I’d thought of using a label instead and having it be selectable, but the label seems to not have the method CharPosAtXY or the properties SelStart and SelLength, so I seem to have hit a wall.

Should I subclass one or the other? Are there advantages to one over the other if subclassing is the answer?

Reject the unwanted keystrokes in the KeyDown event of TextArea.

Return True in the KeyDown event, except for the delete keys and arrows.

Excellent, thanks.