다음을 통해 공유


Visual Basic 6.0 사용자를 위한 색 처리

업데이트: 2007년 11월

이 항목에서는 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 클래스를 사용하고 이 클래스에 Visual Basic 6.0 색의 Long 값을 전달합니다.

색 상수

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 속성

Visual Basic 6.0에서는 CheckBox, ButtonRadioButton 컨트롤에 대한 MaskColor 속성이 더 이상 존재하지 않습니다. 그래픽 메서드를 사용하면 MaskColor 속성을 에뮬레이트할 수 있습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 MaskColor를 참조하십시오.

색 처리에 대한 코드 변경 사항

다음 예제에서는 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 값에 색을 설정하는 방법에 대한 코드 변경 사항

다음 예제에서는 TextBox 컨트롤의 BackColor 속성을 Visual Basic 6.0 색 중 가장 연한 녹색(&H00C0FFC0)으로 설정합니다.

' 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 사용자를 위한 색상표

Visual Basic 6.0 사용자를 위한 MaskColor

기타 리소스

Visual Basic 6.0 사용자를 위한 Windows Forms 컨트롤