ForeColor Property

Applies To

CheckBox control, ComboBox control, CommandButton control, Frame control, Label control, ListBox control, MultiPage control, OptionButton control, ScrollBar control, SpinButton control, TabStrip control, TextBox control, ToggleButton control, UserForm object.

Description

Specifies the foreground color of an object.

Syntax

object.ForeColor [= Long]

The ForeColor property syntax has these parts:

Part

Description

object

Required. A valid object.

Long

Optional. A value or constant that determines the foreground color of an object.


Settings

You can use any integer that represents a valid color. You can also specify a color by using the RGB function with red, green, and blue color components. The value of each color component is an integer that ranges from zero to 255. For example, you can specify teal blue as the integer value 4966415 or as red, green, and blue color components 15, 200, 75.

Remarks

Use the ForeColor property for controls on forms to make them easy to read or to convey a special meaning. For example, if a text box reports the number of units in stock, you can change the color of the text when the value falls below the reorder level.

For a ScrollBar or SpinButton, ForeColor sets the color of the arrows. For a Frame, ForeColor changes the color of the caption. For a Font object, ForeColor determines the color of the text.

See Also

BackColor property.

Example

The following example demonstrates the BorderStyle and SpecialEffect properties, showing each border available through these properties. The example also demonstrates how to control color settings by using the BackColor, BackStyle, BorderColor, and ForeColor properties.

To use this example, copy this sample code to the Declarations portion of a form. Make sure that the form contains:

  • Six TextBox controls named TextBox1 through TextBox6.
  • Two ToggleButton controls named ToggleButton1 and ToggleButton2.
    Private Sub UserForm_Initialize()
    'Initialize each TextBox with a border style or special effect,
    'and foreground and background colors
    
    'TextBox1 initially uses a borderstyle
    TextBox1.Text = "BorderStyle-Single"
    TextBox1.BorderStyle = fmBorderStyleSingle
    TextBox1.BorderColor = RGB(255, 128, 128)   'Color - Salmon
    TextBox1.ForeColor = RGB(255, 255, 0)       'Color - Yellow
    TextBox1.BackColor = RGB(0, 128, 64)        'Color - Green #2
    
    'TextBoxes 2 through 6 initially use special effects
    TextBox2.Text = "Flat"
    TextBox2.SpecialEffect = fmSpecialEffectFlat
    TextBox2.ForeColor = RGB(64, 0, 0)          'Color - Brown
    TextBox2.BackColor = RGB(0, 0, 255)         'Color - Blue
    
    'Ensure the background style for TextBox2 is initially opaque.
    TextBox2.BackStyle = fmBackStyleOpaque
    
    TextBox3.Text = "Etched"
    TextBox3.SpecialEffect = fmSpecialEffectEtched
    TextBox3.ForeColor = RGB(128, 0, 255)       'Color - Purple
    TextBox3.BackColor = RGB(0, 255, 255)       'Color - Cyan
    
    'Define BorderColor for later use (when borderstyle=fmBorderStyleSingle)
    TextBox3.BorderColor = RGB(0, 0, 0)         'Color - Black
    
    TextBox4.Text = "Bump"
    TextBox4.SpecialEffect = fmSpecialEffectBump
    TextBox4.ForeColor = RGB(255, 0, 255)       'Color - Magenta
    TextBox4.BackColor = RGB(0, 0, 100)         'Color - Navy blue
    
    TextBox5.Text = "Raised"
    TextBox5.SpecialEffect = fmSpecialEffectRaised
    TextBox5.ForeColor = RGB(255, 0, 0)         'Color - Red
    TextBox5.BackColor = RGB(128, 128, 128)     'Color - Gray
    
    TextBox6.Text = "Sunken"
    TextBox6.SpecialEffect = fmSpecialEffectSunken
    TextBox6.ForeColor = RGB(0, 64, 0)          'Color - Olive
    TextBox6.BackColor = RGB(0, 255, 0)         'Color - Green #1
    
    ToggleButton1.Caption = "Swap styles"
    ToggleButton2.Caption = "Transparent/Opaque background"
    End Sub
    
    Private Sub ToggleButton1_Click()
    
    'Swap borders between TextBox1 and TextBox3
    If ToggleButton1.Value = True Then
        'Change TextBox1 from BorderStyle to Etched
        TextBox1.Text = "Etched"
        TextBox1.SpecialEffect = fmSpecialEffectEtched
        
        'Change TextBox3 from Etched to BorderStyle
        TextBox3.Text = "BorderStyle-Single"
        TextBox3.BorderStyle = fmBorderStyleSingle
    Else
        'Change TextBox1 back to BorderStyle
        TextBox1.Text = "BorderStyle-Single"
        TextBox1.BorderStyle = fmBorderStyleSingle
        
        'Change TextBox3 back to Etched
        TextBox3.Text = "Etched"
        TextBox3.SpecialEffect = fmSpecialEffectEtched
    End If
    End Sub
    
    Private Sub ToggleButton2_Click()
    
    'Set background to Opaque or Transparent
    If ToggleButton2.Value = True Then
        'Change TextBox2 to a transparent background
        TextBox2.BackStyle = fmBackStyleTransparent
    Else
        'Change TextBox2 back to opaque background
        TextBox2.BackStyle = fmBackStyleOpaque
    End If
    
    End Sub