Gestion des couleurs pour les utilisateurs de Visual Basic 6.0

Mise à jour : novembre 2007

Cette rubrique compare la gestion de couleur dans Visual Basic 6.0 avec les équivalents dans Visual Basic 2008.

L'utilisation des couleurs dans Visual Basic 2008 est semblable à l'utilisation des couleurs dans Visual Basic 6.0 ; toutefois, vous devez savoir qu'il existe quelques différences conceptuelles. De plus, les constantes utilisées pour spécifier des couleurs dans Visual Basic 6.0 sont remplacées par de nouvelles énumérations de couleurs dans Visual Basic 2008.

Différences conceptuelles

Dans Visual Basic 6.0, les couleurs étaient représentées par une valeur de type Long ; dans Visual Basic 2008, les couleurs sont du type Color. Dans Visual Basic 6.0, les constantes étaient fournies pour huit couleurs standard ; dans Visual Basic 2008 il y a plus de 100 couleurs nommées.

Conseil :

Pour rechercher une valeur équivalente à une couleur Visual Basic 6.0 qui n'est pas une couleur standard, vous pouvez utiliser la classe ColorTranslator et lui passer la valeur Long de la couleur Visual Basic 6.0.

Color, constantes

Dans Visual Basic 6.0, les constantes étaient fournies pour les couleurs système qui pouvaient être utilisées pour mapper une couleur aux préférences système de l'utilisateur. Dans Visual Basic 2008, les couleurs système sont du type SystemColors.

Propriétés BackColor et ForeColor

Dans Visual Basic 6.0, les propriétés BackColor et ForeColor d'un contrôle devaient être explicitement définies au moment du design ou au moment de l'exécution, car les couleurs ne pouvaient pas être héritées. Dans Visual Basic 2008, si une couleur n'est pas explicitement définie au moment du design ou au moment de l'exécution, elle hérite des paramètres de couleur de son parent. Pour plus d'informations, consultez Comportement des couleurs pour les utilisateurs de Visual Basic 6.0.

Propriétés Palette et PaletteMode

Dans Visual Basic 6.0, les propriétés Palette et PaletteMode d'un formulaire étaient utilisées pour définir les couleurs à utiliser lors de l'affichage des images sur un écran 256 couleurs. Visual Basic 2008 ne prend pas en charge les propriétés Palette et PaletteMode. Pour plus d'informations, consultez Palettes pour les utilisateurs de Visual Basic 6.0.

MaskColor, propriété

La propriété MaskColor de Visual Basic 6.0 n'existe plus pour les contrôles CheckBox, Button et RadioButton. Vous pouvez émuler la propriété MaskColor à l'aide des méthodes graphiques. Pour plus d'informations, consultez MaskColor pour les utilisateurs de Visual Basic 6.0.

Modifications du code pour la gestion des couleurs

Les exemples ci-dessous illustrent les différences entre les techniques de codage dans Visual Basic 6.0 et dans Visual Basic 2008.

Modifications du code pour affecter la valeur d'une couleur système à une couleur

Le code suivant affecte à la BackColor d'un formulaire une couleur correspondant à celle que l'utilisateur a sélectionnée pour la barre de titre active.

' Visual Basic 6.0

Me.BackColor = vbActiveTitleBar

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

Modifications du code pour affecter une valeur Visual Basic 6.0 à une couleur

L'exemple suivant affecte à la propriété BackColor d'un contrôle TextBox une couleur correspondant à la nuance de vert la plus claire (&H00C0FFC0) du sélecteur de couleurs Visual Basic 6.0.

' Visual Basic 6.0

textBox1.Text = &H00C0FFC0

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

Équivalences des constantes

Les tableaux suivants répertorient les constantes Visual Basic 6.0 et leurs équivalents dans Visual Basic 2008.

Équivalents des constantes de couleur

Visual Basic 6.0

Équivalent Visual Basic 2005

vbBlack

Black

vbRed

Red

vbGreen

Lime

vbYellow

Yellow

vbBlue

Blue

vbMagenta

Magenta

vbCyan

Cyan

vbWhite

White

Équivalents des constantes de couleur système

Visual Basic 6.0

Équivalent 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

Mettre à niveau des remarques

Lorsqu'une application Visual Basic 6.0 est mise à niveau vers Visual Basic 2008 à l'aide de l'Assistant Mise à niveau, les couleurs sont converties à l'aide de la méthode FromOle.

Après la mise à niveau, recherchez tout code qui définit explicitement la propriété BackColor ou ForeColor au moment de l'exécution. S'il est défini pour un parent, définissez explicitement la couleur des contrôles enfants au moment du design, sinon, les contrôles enfants héritent des couleurs du parent.

Tout code qui utilisait les propriétés Palette, PaletteMode ou MaskColor devra être réécrit dans Visual Basic 2008.

Voir aussi

Concepts

Comportement des couleurs pour les utilisateurs de Visual Basic 6.0

Palettes pour les utilisateurs de Visual Basic 6.0

MaskColor pour les utilisateurs de Visual Basic 6.0

Autres ressources

Contrôles Windows Forms pour les utilisateurs de Visual Basic 6.0