Поделиться через


Обработка цветов для пользователей 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 именованных цветов.

6ys84h69.alert_note(ru-ru,VS.90).gifСовет.

Чтобы найти эквивалентное значение для нестандартного цвета 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

Black

vbRed

Red

vbGreen

Lime

vbYellow

Yellow

vbBlue

Blue

vbMagenta

Magenta

vbCyan

Cyan

vbWhite

White

Эквиваленты констант системных цветов

Visual Basic 6.0

Эквивалент 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

Замечания по обновлению

При обновлении приложения 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)