Обработка цветов для пользователей Visual Basic 6.0
Обновлен: Ноябрь 2007
В этом разделе сравнивается обработка цветов в Visual Basic 6.0 с эквивалентами в Visual Basic 2008.
Работа с цветами в Visual Basic 2008 похожа на работу с цветами в Visual Basic 6.0; однако имеются некоторые концептуальные различия, о которых следует знать. Также константы, используемые для указания цветов в Visual Basic 6.0, заменены новыми перечислениями цветов в Visual Basic 2008.
Концептуальные различия
В Visual Basic 6.0 цвета были представлены значением типа Long; в Visual Basic 2008 цвета имеют тип Color. В Visual Basic 6.0 имелись константы для восьми стандартных цветов; в Visual Basic 2008 существует больше 100 именованных цветов.
Совет. |
---|
Чтобы найти эквивалентное значение для нестандартного цвета Visual Basic 6.0, можно использовать класс ColorTranslator и передать ему значение Long цвета Visual Basic 6.0. |
Константы цветов
В Visual Basic 6.0 имелись константы для системных цветов, которые могли использоваться для сопоставления цвета с пользовательскими системными настройками. В Visual Basic 2008 системные цвета имеют тип SystemColors.
Свойства BackColor и ForeColor
В Visual Basic 6.0 свойства BackColor и ForeColor элемента управления должны были задаваться явно в режиме разработки или во время выполнения; цвета не могли быть унаследованы. В Visual Basic 2008, пока цвет не задан явно в режиме разработки или во время выполнения, он будет наследоваться от родителя. Дополнительные сведения см. в разделе Действие цветов (для пользователей Visual Basic 6.0).
Свойства Palette и PaletteMode
В Visual Basic 6.0 свойства Palette и PaletteMode формы использовались для управления набором цветов, используемых при отображении изображений на 256-цветном дисплее. Visual Basic 2008 не поддерживает свойства Palette или PaletteMode. Дополнительные сведения см. в разделе Палитры (для пользователей Visual Basic 6.0).
Свойство MaskColor
Свойство MaskColor Visual Basic 6.0 больше не существует для элементов управления CheckBox, Button и RadioButton. Свойство MaskColor можно эмулировать с помощью графических методов. Дополнительные сведения см. в разделе Свойство MaskColor (для пользователей Visual Basic 6.0).
Изменения кода для обработки цветов
Следующие примеры иллюстрируют различия в методах программирования между Visual Basic 6.0 и Visual Basic 2008.
Изменения кода для установки системного цвета
В следующем коде устанавливается свойство BackColor формы соответственно цвету, определенному пользователем для активной строки заголовка.
' Visual Basic 6.0
Me.BackColor = vbActiveTitleBar
' Visual Basic
Me.BackColor = System.Drawing.SystemColors.ActiveCaption
Изменения кода для установки значения цвета Visual Basic 6.0.
В следующем примере устанавливается свойство BackColor элемента управления TextBox соответственно самому светлому зеленому цвету &H00C0FFC0) из палитры цветов Visual Basic 6.0.
' Visual Basic 6.0
textBox1.Text = &H00C0FFC0
' Visual Basic
TextBox1.BackColor = System.Drawing.ColorTranslator.FromOle(&HC0FFC0)
Эквиваленты констант
В следующей таблице перечислены константы Visual Basic 6.0 и их эквиваленты Visual Basic 2008.
Эквиваленты констант цветов
Visual Basic 6.0 |
Эквивалент Visual Basic 2005 |
---|---|
vbBlack |
|
vbRed |
|
vbGreen |
|
vbYellow |
|
vbBlue |
|
vbMagenta |
|
vbCyan |
|
vbWhite |
Эквиваленты констант системных цветов
Visual Basic 6.0 |
Эквивалент 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 |
Замечания по обновлению
При обновлении приложения Visual Basic 6.0 до Visual Basic 2008 с помощью мастера обновления цвета преобразуются с помощью метода FromOle.
После обновления нужно найти любой код, который явно задает свойство BackColor или ForeColor во время выполнения. Если оно устанавливается для родителя, явно задайте цвет дочерних элементов управления в режиме разработки, в противном случае дочерние элементы управления будут наследовать цвета из родителя.
Любой код, использующий свойства Palette, PaletteMode или MaskColor, должен быть переписан в Visual Basic 2008.
См. также
Основные понятия
Действие цветов (для пользователей Visual Basic 6.0)
Палитры (для пользователей Visual Basic 6.0)
Свойство MaskColor (для пользователей Visual Basic 6.0)
Другие ресурсы
Элементы управления Windows Forms (для пользователей Visual Basic 6.0)