expression.GetForegroundColorAsInt( _ ByVal attr As TextColorMappingAttribute _ ) As Integer
Parameters
- attr
- The host text attribute to get the mapped value for.This is a TextColorMappingAttribute Enumeration value.
expression.GetForegroundColorAsInt( _ ByVal attr As TextColorMappingAttribute _ ) As Integer
In Open Systems sessions, screen colors are mapped to integer values in a color map. Although you can select from only one of 16 colors, you can change the actual screen colors to any RGB values by changing the RGB values of the color map.
For example, if the screen foreground color of normal text is mapped to 0 in the map (which has a default color of Black), you can change the default RGB value mapped to 0 to another RGB value.
You can use this approach to change the actual screen foreground color to any RGB color. Use this method to get the integer value the foreground color is mapped to. Then use the SetColorRGB Method method to change that color to any RGB value.
You can view the theme color map in the user interface by clicking Color Map, under Text Color Mapping in the Modify Theme dialog box.
The default color mapped to each integer value is shown below.
The Theme Color Map
Integer | Default Colors for Non-Graphic Terminals | Default Colors for Regis Graphics Terminals |
---|---|---|
0 | Black | Black |
1 | Dark Red | Blue |
2 | Dark Green | Red |
3 | Dark Yellow | Green |
4 | Dark Blue | Magenta |
5 | Dark Magenta | Cyan |
6 | Dark Cyan | Yellow |
7 | Dark Grey | Grey |
8 | Grey | Dark Grey |
9 | Red | Dark Blue |
10 | Green | Dark Red |
11 | Yellow | Dark Green |
12 | Blue | Dark Magenta |
13 | Magenta | Dark Cyan |
14 | Cyan | Dark Yellow |
15 | White | Light Grey |
Public Sub TestColors() Dim foregroundColorInt As Integer Dim backgroundColorInt As Integer Dim ScreenColor As Attachmate_Reflection_Objects_Emulation_OpenSystems.ThemeColor Set ScreenColor = ThisTerminal.Theme.color Rem Get the integer values that the screen foreground and background colors are mapped to foregroundColorInt = ScreenColor.GetForegroundColorAsInt(TextColorMappingAttribute_Plain) backgroundColorInt = ScreenColor.GetBackgroundColorAsInt(TextColorMappingAttribute_Plain) Rem Set the screen foreground and background colors by changing the color map ScreenColor.SetColorRGB foregroundColorInt, 250, 150, 200 ScreenColor.SetColorRGB backgroundColorInt, 250, 50, 120 End Sub