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 |
|
vbRed |
|
vbGreen |
|
vbYellow |
|
vbBlue |
|
vbMagenta |
|
vbCyan |
|
vbWhite |
Équivalents des constantes de couleur système
Visual Basic 6.0 |
Équivalent Visual Basic 2005 |
---|---|
vb3DDKShadow |
|
vb3DFace |
|
vb3DHighlight |
|
vb3DLight |
|
vb3DShadow |
|
vbActiveBorder |
|
vbActiveTitleBar |
|
vbActiveTitleBarText |
|
vbApplicationWorkspace |
|
vbButtonFace |
|
vbButtonShadow |
|
vbButtonText |
|
vbDesktop |
|
vbGrayText |
|
vbHighlight |
|
vbHighlightText |
|
vbInactiveBorder |
|
vbInactiveCaptionText |
|
vbInactiveTitleBar |
|
vbInactiveTitleBarText |
|
vbInfoBackground |
|
vbInfoText |
|
vbMenuBar |
|
vbMenuText |
|
vbScrollBars |
|
vbTitleBarText |
|
vbWindowBackground |
|
vbWindowFrame |
|
vbWindowText |
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