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 |
|
vbRed |
|
vbGreen |
|
vbYellow |
|
vbBlue |
|
vbMagenta |
|
vbCyan |
|
vbWhite |
Equivalenti delle costanti dei colori di sistema
Visual Basic 6.0 |
Equivalente in 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 |
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