Share via


Gestione dei colori per gli utenti di Visual Basic 6.0

Aggiornamento: novembre 2007

In questo argomento viene presentato un confronto fra gli strumenti di gestione dei colori di Visual Basic 6.0 e gli strumenti equivalenti di Visual Basic 2008.

L'utilizzo dei colori in Visual Basic 2008 è simile all'utilizzo dei colori in Visual Basic 6.0, ma esistono alcune differenze concettuali che è opportuno tenere presenti. Inoltre, in Visual Basic 2008 le costanti utilizzate per specificare i colori in Visual Basic 6.0 sono sostituite da nuove enumerazioni di colori.

Differenze concettuali

In Visual Basic 6.0 i colori venivano rappresentati da un valore di tipo Long; in Visual Basic 2008, invece, i colori sono di tipo Color. In Visual Basic 6.0 erano disponibili delle costanti associate a otto colori standard; in Visual Basic 2008, invece, i colori disponibili sono più di 100.

Suggerimento:

Per trovare il valore equivalente di un colore non standard di Visual Basic 6.0 è possibile passare alla classe ColorTranslator il valore di tipo Long del colore in Visual Basic 6.0.

Costanti dei colori

In Visual Basic 6.0 venivano fornite delle costanti per i colori di sistema che potevano essere usate per mappare un colore in base alle preferenze di sistema dell'utente. In Visual Basic 2008, i colori di sistema sono di tipo SystemColors.

Proprietà BackColor e ForeColor

In Visual Basic 6.0 le proprietà BackColor e ForeColor di un controllo dovevano essere impostate esplicitamente in fase di progettazione o di esecuzione e i colori non potevano essere ereditati. In Visual Basic 2008, a meno che non si imposti esplicitamente un colore in fase di progettazione o di esecuzione, le impostazioni relative al colore sono ereditate dal rispettivo elemento padre. Per ulteriori informazioni, vedere Comportamento dei colori per gli utenti di Visual Basic 6.0.

Proprietà Palette e PaletteMode

In Visual Basic 6.0 le proprietà Palette e PaletteMode di un form venivano utilizzate per controllare l'insieme dei colori da impiegare per la visualizzazione di immagini su uno schermo a 256 colori. In Visual Basic 2008 le proprietà Palette e PaletteMode non sono supportate. Per ulteriori informazioni, vedere Tavolozze dei colori per gli utenti di Visual Basic 6.0.

Proprietà MaskColor

In Visual Basic 6.0 la proprietà MaskColor non esiste più per i controlli CheckBox, Button e RadioButton. Per emulare la proprietà MaskColor è possibile utilizzare i metodi grafici. Per ulteriori informazioni, vedere MaskColor per gli utenti di Visual Basic 6.0.

Modifiche del codice per la gestione dei colori

Nell'esempio riportato di seguito vengono illustrate le differenze nelle tecniche di codifica tra Visual Basic 6.0 e Visual Basic 2008.

Modifiche del codice per impostare un colore su un colore di sistema

Nell'esempio di codice riportato di seguito la proprietà BackColor di un form viene impostata in modo da corrispondere al colore selezionato dall'utente per la barra del titolo attiva.

' Visual Basic 6.0

Me.BackColor = vbActiveTitleBar

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

Modifiche del codice per impostare un colore su un valore di Visual Basic 6.0

Nell'esempio che segue viene impostata la proprietà BackColor di un controllo TextBox affinché corrisponda al verde più chiaro (&H00C0FFC0) della selezione colori di Visual Basic 6.0.

' Visual Basic 6.0

textBox1.Text = &H00C0FFC0

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

Equivalenze fra costanti

Nelle tabelle riportate di seguito sono elencate le costanti di Visual Basic 6.0, insieme ai rispettivi equivalenti di Visual Basic 2008.

Equivalenti delle costanti dei colori

Visual Basic 6.0

Equivalente in Visual Basic 2005

vbBlack

Black

vbRed

Red

vbGreen

Lime

vbYellow

Yellow

vbBlue

Blue

vbMagenta

Magenta

vbCyan

Cyan

vbWhite

White

Equivalenti delle costanti dei colori di sistema

Visual Basic 6.0

Equivalente in 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

Note sull'aggiornamento

Quando un'applicazione Visual Basic 6.0 viene aggiornata a Visual Basic 2008 utilizzando la procedura di aggiornamento guidato, i colori sono convertiti mediante il metodo FromOle.

Dopo aver effettuato l'aggiornamento si consiglia di cercare il codice in cui la proprietà BackColor o ForeColor venga esplicitamente impostata in fase di esecuzione. Se tale proprietà viene impostata per un elemento padre, impostare esplicitamente il colore dei controlli figlio in fase di progettazione. In caso contrario, i controlli figlio erediteranno i colori dall'elemento padre.

Tutto il codice in cui si utilizzano le proprietà Palette, PaletteMode o MaskColor dovrà essere riscritto in Visual Basic 2008.

Vedere anche

Concetti

Comportamento dei colori per gli utenti di Visual Basic 6.0

Tavolozze dei colori per gli utenti di Visual Basic 6.0

MaskColor per gli utenti di Visual Basic 6.0

Altre risorse

Controlli Windows Form per gli utenti di Visual Basic 6.0