Control del color para usuarios de Visual Basic 6.0

Actualización: noviembre 2007

En este tema se compara el control del color en Visual Basic 6.0 con equivalentes en Visual Basic 2008.

Trabajar con colores en Visual Basic 2008 es similar a trabajar con colores en Visual Basic 6.0; no obstante, existen algunas diferencias conceptuales que debe saber. Además, las nuevas enumeraciones de color en Visual Basic 2008 reemplazan a las constantes utilizadas para especificar colores en Visual Basic 6.0.

Diferencias conceptuales

En Visual Basic 6.0, un valor de tipo Long representaba los colores; en Visual Basic 2008 los colores son de tipo Color. En Visual Basic 6.0, se proporcionaban constantes para ocho colores estándar; en Visual Basic 2008 hay más de 100 colores con nombre.

Sugerencia:

Para buscar un valor equivalente para un color de Visual Basic 6.0 que no sea un color estándar, puede utilizar la clase ColorTranslator y pasarle el valor Long del color de Visual Basic 6.0.

Constantes de color

En Visual Basic 6.0, las constantes se proporcionaron para colores del sistema que se pueden utilizar para asignar un color a las preferencias del sistema del usuario. En Visual Basic 2008, los colores del sistema son del tipo SystemColors.

Propiedades BackColor y ForeColor

En Visual Basic 6.0 las propiedades BackColor y ForeColor de un control debían establecerse explícitamente en tiempo de diseño o en tiempo de ejecución; los colores no podían heredarse. En Visual Basic 2008, a menos que un color se defina explícitamente en tiempo de diseño o en tiempo de ejecución, heredará la configuración de color de su elemento primario. Para obtener más información, vea Comportamiento del color para los usuarios de Visual Basic 6.0.

Propiedades Palette y PaletteMode

En Visual Basic 6.0, las propiedades Palette y PaletteMode de un formulario se utilizaban para controlar el juego de colores que se iba a utilizar al mostrar imágenes en una pantalla de 256 colores. Visual Basic 2008 no admite las propiedades Palette ni PaletteMode. Para obtener más información, vea Paletas para usuarios de Visual Basic 6.0.

Propiedad MaskColor

La propiedad de Visual Basic 6.0 MaskColor ya no existe para los controles CheckBox, Button y RadioButton. Puede emular la propiedad MaskColor utilizando los métodos gráficos. Para obtener más información, vea MaskColor para usuarios de Visual Basic 6.0.

Cambios de código para el control del color

En los siguientes ejemplos se muestran las diferencias entre las técnicas de codificación de Visual Basic 6.0 y Visual Basic 2008.

Cambios de código para establecer un color en un color del sistema

El código siguiente establece la propiedad BackColor de un formulario para que coincida con el color seleccionado por el usuario para la barra de título activa.

' Visual Basic 6.0

Me.BackColor = vbActiveTitleBar

' Visual Basic
Me.BackColor = System.Drawing.SystemColors.ActiveCaption

Cambios de código para establecer un color en un valor de Visual Basic 6.0

El ejemplo siguiente establece la propiedad BackColor de un control TextBox para que coincida con el verde más claro (&H00C0FFC0) del selector de color de Visual Basic 6.0.

' Visual Basic 6.0

textBox1.Text = &H00C0FFC0

' Visual Basic
TextBox1.BackColor = System.Drawing.ColorTranslator.FromOle(&HC0FFC0)

Equivalencias de constantes

En las siguientes tablas se muestran las constantes de Visual Basic 6.0 y sus equivalentes en Visual Basic 2008.

Equivalentes de las constantes de color

Visual Basic 6.0

Equivalente en Visual Basic 2005

vbBlack

Black

vbRed

Red

vbGreen

Lime

vbYellow

Yellow

vbBlue

Blue

vbMagenta

Magenta

vbCyan

Cyan

vbWhite

White

Equivalentes de las constantes de color del sistema

Visual Basic 6.0

Equivalente en Visual Basic 2005

vb3DDKShadow

ControlDarkDark

vb3DFace

Control

vb3DHighlight

ControlLightLight

vb3DLight

ControlLight

vb3DShadow

ControlDark

vbActiveBorder

ActiveBorder

vbActiveTitleBar

ActiveCaption

vbActiveTitleBarText

ActiveCaptionText

vbApplicationWorkspace

AppWorkspace

vbButtonFace

Control

vbButtonShadow

ControlDark

vbButtonText

ControlText

vbDesktop

Desktop

vbGrayText

GrayText

vbHighlight

Highlight

vbHighlightText

HighlightText

vbInactiveBorder

InactiveBorder

vbInactiveCaptionText

InactiveCaptionText

vbInactiveTitleBar

InactiveCaption

vbInactiveTitleBarText

InactiveCaptionText

vbInfoBackground

Info

vbInfoText

InfoText

vbMenuBar

Menu

vbMenuText

MenuText

vbScrollBars

ScrollBar

vbTitleBarText

ActiveCaptionText

vbWindowBackground

Window

vbWindowFrame

WindowFrame

vbWindowText

WindowText

Notas de actualización

Cuando una aplicación de Visual Basic 6.0 se actualiza a Visual Basic 2008 mediante el asistente para actualización, los colores se convierten con el método FromOle.

Tras la actualización, debe buscar cualquier código que establezca explícitamente la propiedad BackColor o ForeColor en tiempo de ejecución. Si se ha establecido para un elemento primario, establezca explícitamente los controles de color en tiempo de diseño, si no estos controles heredarán los colores del elemento primario.

Cualquier código que haya utilizado las propiedades Palette, PaletteMode o MaskColor deberá volver a escribirse en Visual Basic 2008.

Vea también

Conceptos

Comportamiento del color para los usuarios de Visual Basic 6.0

Paletas para usuarios de Visual Basic 6.0

MaskColor para usuarios de Visual Basic 6.0

Otros recursos

Controles de formularios Windows Forms para usuarios de Visual Basic 6.0