The control provides a number of properties and methods to manage and update the virtual display. The most commonly used methods are:
BackColor
This property can be used to change the background color displayed
by the virtual terminal.
ColorMap
This property array can be used to change the default colors which
are used when escape sequences are used to change the foreground or
background color of a character cell. In most cases the default
color map will be appropriate, but applications can change the RGB
values associated with an entry in the color map if needed. For
example, the default value for the color gray is at position 8 in
the color map index with an RGB value of 192,192,192. If you wanted
to use a darker color, you could change the RGB value to
128,128,128
Emulation
This property specifies the type of emulation that is to be
performed by the control. The control is capable of emulating an
ANSI console, a DEC VT-100 and DEC VT-220/320 terminal.
Font
This property sets the font which is used by the control to draw
text on the display window. It is recommended that you only used
fixed-width fonts such as Terminal or Courier New.
ForeColor
This property can be used to change the foreground color displayed
by the virtual terminal.
Write
This is the most commonly used method of writing to the display.
This method will automatically parse the data being written for
escape sequences and update the display appropriately.
Refresh
Refresh the virtual display, updating the current cursor position
and caret. The control will periodically refresh the display
automatically based on its own internal state, but the application
can call this if it wishes to force the display to refresh at that
time.
Reset
This method can be used to reset the display window, the font being
used and the size of the display. Note that resetting the display
causes the contents of the display to be cleared.
There are a number of properties and methods which enable an application to have direct control over cursor positioning, clearing the display and so on. In most cases these methods are called automatically by the control as the result of processing the escape sequences found in the data being written to the display. However, an application can choose to manage the display itself. One important thing to keep in mind is that the X,Y positions used by these properties and methods refer to the cursor position in the virtual display and correspond to columns and rows, not pixels.
There is also a slight difference in terminology that you should be aware of when reading the technical reference documentation. In Windows, the term "cursor" is typically used to refer to the mouse pointer, while "caret" is used to refer to the blinking marker that is displayed at the current position in the display. In the documentation for the emulator, the term "cursor" is used in the same way that it is used for character based terminals, as the marker for the current position in the display. Therefore, in terms of the control, you can think of the cursor and the caret as being synonymous.
CursorX
This property returns the current position of the cursor in the
display, or can be used to change the current position. The current
position is given in columns and indicates where the next text
character will be displayed.
CursorY
This property returns the current position of the cursor in the
display, or can be used to change the current position. The current
position is given in rows and indicates where the next text
character will be displayed.
Clear
This method clears the contents of the display. You can clear from
the start of the display to the current cursor position, from the
current position to the end of the display or the entire
display.
DelLine
This method deletes the line at the current cursor position,
shifting the remaining lines in the display up.
InsLine
This method inserts a blank line at the current cursor position,
shifting the following lines down.
ScrollDown
This method scrolls the display down by one line.
ScrollUp
This method scrolls the display up by one line.
Another aspect of terminal emulation is how function keys and other special keys are handled by the application. The emulation control can be used to convert Windows virtual key codes into the escape sequences that are generated by character based terminals.
KeyMap
This property array allows the application to define character
sequences that should be mapped to special keys. When a special key
is pressed in the emulation window and there is an entry for it in
the key map, the KeyMapped event is fired. For example, if the user
presses the F1 key on the keyboard, the control will translate that
key code into the three characters escape sequence ESC O P (the
ASCII codes 27, 79, 80). That sequence of characters should be sent
to the remote host, which will recognize it as the F1 function key
being pressed. It is important to note that the different emulation
types have different key mappings. Therefore, the remote host must
be set to recognize the same type of terminal that you are
emulating. If you have the emulation set as VT-220 but the server
thinks that you are emulating a VT-100, it will not recognize some
of the escape sequences correctly.
KeyMapped
This event is generated when the user presses a special key while
the emulation window has focus, and that key is mapped to a string
using the KeyMap property array. Typically an application will use
this event to send the mapped key escape sequence to a remote host,
such as a Telnet server.