Sets the display foreground / background color that is used with console output and graphics output of text
Syntax
Usage
Color [foreground] [, background]
result = Color [( [foreground] [, background] )]
Parameters
foreground
the foreground color to set
background
the background color to set
Return Value
Returns a 32-bit value containing the current foreground color in the
Low Word and the current background color in the
High Word. (In hi/truecolor modes, only the foreground color is returned, taking up the whole 32 bits.)
The old color values can be retrieved at the same time as setting new ones.
Description
The
Color statement sets the current foreground and/or background colors.
Circle,
Draw,
Line (Graphics),
Cls,
Paint,
Print,
PReset and
PSet all use the last colors set by this function when you don't specify a color to them, where applicable. The color values that
Color accepts depend on the current graphics mode.
Mode | Meaning |
1 | foreground is screen color (ranging 0-15). background is the emulated CGA palette to be used: 0 (green, red, and brown), 1 (cyan, magenta and white), 2 (same as 0, but with bright colors) or 3 (same as 1, but with bright colors) |
2, 11 | foreground is a color index in current palette (ranging 0-1). background is a color index in current palette (ranging 0-1). |
7, 8 | foreground is a color index in current palette (ranging 0-15). background is screen color index in current palette (ranging 0-15). |
9 | foreground is a color index in current palette (ranging 0-63). background is screen color index in current palette (ranging 0-63). |
12 | foreground is a color index in current palette (ranging 0-15). background is a color index in current palette (ranging 0-15). |
13 and up | foreground is a color index in current palette (ranging 0-255). background is a color index in current palette (ranging 0-255). |
If you are using a color depth higher than 8bpp, foreground and background are direct
RGB color values in the form
&hAARRGGBB, where
AA,
RR,
GG and
BB are the alpha, red, green and blue components ranging
&h00-
&hFF (
0-
255 in decimal notation). While in hi/truecolor modes, you can use the
RGB or
RGBA macro to obtain a valid color value.
A
Default Palette is automatically set when entering a
Screen mode.
Example
' Sets 320x240 in 32bpp color depth
Screen 14, 32
' Sets orange foreground and dark blue background color
Color RGB(255, 128, 0), RGB(0, 0, 64)
' Clears the screen to the background color
Cls
' Prints "Hello World!" in the middle of the screen
Locate 15, 14
Print "Hello World!"
Sleep
Dim c As UInteger
'retrieve current color values
c = Color()
'extract color values from c using LOWORD and HIWORD
Print "Console colors:"
Print "Foreground: " & LoWord(c)
Print "Background: " & HiWord(c)
Differences from QB
- Direct color modes were not supported in QB.
- There is no border argument.
See also