Visual Basic 6.0 사용자를 위한 PictureBox 컨트롤
업데이트: 2007년 11월
Visual Basic 6.0의 PictureBox 컨트롤은 Visual Basic 2008에서 Windows Forms PictureBox 컨트롤로 대체되었습니다. 일부 속성, 메서드, 이벤트 및 상수의 이름이 다르고 경우에 따라서는 동작도 다릅니다.
개념적 차이
컨테이너로서의 PictureBox
Visual Basic 6.0 PictureBox 컨트롤은 컨테이너 컨트롤로서 그림을 표시하는 것을 비롯하여 다른 컨트롤을 그룹화하고 표시하는 데 사용할 수 있습니다.
Visual Basic 2008PictureBox 컨트롤은 컨테이너 컨트롤이 아니며 그림을 표시하는 데만 사용됩니다. 대신 새 Panel 컨트롤을 컨테이너 컨트롤이 필요한 PictureBox 컨트롤의 대체 컨트롤로 사용할 수 있습니다.
AutoSize 속성
Visual Basic 6.0에서는 AutoSize 속성이 PictureBox 컨트롤을 해당 디자인 타임의 크기로 유지(AutoSize = False)할 것인지 아니면 그림 치수에 맞게 자동으로 크기를 변경(AutoSize = True)할 것인지 여부를 결정합니다.
Visual Basic 2008에서는 AutoSize 속성이 SizeMode 속성으로 대체되었습니다. Normal 및 AutoSize 모드를 비롯하여 그림을 가운데에 배치하거나, 확장하거나, 확대/축소하는 데도 옵션을 사용할 수 있습니다.
그래픽 속성 및 메서드
Visual Basic 6.0에서는 여러 가지 그래픽 속성과 메서드를 사용하여 선, 모양 및 텍스트를 PictureBox 컨트롤의 위에 그릴 수 있습니다.
Visual Basic 2008에서는 컨트롤에 그래픽 속성이나 메서드가 없지만 T:System.Drawing.Graphics 개체를 사용하여 PictureBox 컨트롤의 위에 그릴 수 있습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 그래픽을 참조하십시오.
기타 차이점
또한, 모든 컨트롤에 적용되는 개념적인 차이가 많습니다(데이터 바인딩, 글꼴 처리, 끌어서 놓기, 도움말 지원 등의 차이 포함). 자세한 내용은 Visual Basic 6.0 사용자를 위한 Windows Forms 개념을 참조하십시오.
PictureBox 컨트롤에 대한 코드 변경 사항
다음 예제에서는 Visual Basic 6.0과 Visual Basic 2008 간 코딩 기술의 차이점을 보여 줍니다.
그림을 표시하는 방법에 대한 코드 변경 사항
다음 코드에서는 런타임에서 PictureBox 컨트롤에 그림을 표시하는 방법을 보여 줍니다.
' Visual Basic 6.0
Picture1.Picture = LoadPicture(App.Path & "\somepicture.jpg")
' Visual Basic
PictureBox1.Image = System.Drawing.Bitmap.FromFile( _
My.Application.Info.DirectoryPath & "\somepicture.jpg")
PictureBox 컨트롤을 지우는 방법에 대한 코드 변경 사항
다음 코드에서는 이미지가 표시되지 않도록 런타임에서 PictureBox 컨트롤을 지우는 방법을 보여주는 코드입니다.
' Visual Basic 6.0
Picture1.Picture = LoadPicture("")
' Visual Basic
If Not (PictureBox1.Image Is Nothing) Then
PictureBox1.Image.Dispose()
PictureBox1.Image = Nothing
End If
PictureBox 컨트롤에서 그리는 방법에 대한 코드 변경 사항
다음 코드에서는 런타임에서 PictureBox 컨트롤의 중앙에 지름이 40픽셀인 빨간색 원을 그리는 방법을 보여 줍니다.
' Visual Basic 6.0
Private Sub Picture1_Paint
Dim x As Integer
Dim y As Integer
Picture1.ScaleMode = vbPixels
x = Picture1.ScaleWidth / 2
y = Picture1.ScaleHeight / 2
Picture1.Circle (x, y), 20, vbRed
End Sub
' Visual Basic
Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e _
As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
Dim radius As Integer = 20
Dim diameter As Integer = radius * 2
Dim x As Integer = (PictureBox1.Width / 2) - radius
Dim y As Integer = (PictureBox1.Height / 2) - radius
e.Graphics.DrawEllipse(Pens.Red, x, y, diameter, diameter)
End Sub
PictureBox 컨트롤 속성, 메서드, 이벤트에 해당하는 요소
다음 표에서는 Visual Basic 6.0 속성, 메서드, 이벤트 및 이에 해당하는 Visual Basic 2008 요소를 보여 줍니다. 이름과 동작이 같은 속성, 메서드 및 이벤트는 나열되지 않습니다. 속성 또는 메서드 아래에 들여쓰기되어 있는 부분은 상수를 의미합니다. 다른 설명이 없는 한 모든 Visual Basic 2008 열거형은 System.Windows.Forms 네임스페이스로 매핑됩니다.
이 표에서는 동작의 차이를 설명하는 항목에 대한 링크를 제공합니다. 직접 해당하는 요소가 Visual Basic 2008에 없는 경우에는 다른 방법을 제시하는 항목에 대한 링크를 제공합니다.
속성
Visual Basic 6.0 |
동일한 기능의 Visual Basic 2008 요소 |
||
---|---|---|---|
Align |
|||
Appearance |
새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 Appearance 및 BorderStyle 속성을 참조하십시오. |
||
AutoRedraw |
새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 그래픽을 참조하십시오. |
||
AutoSize |
|||
BackColor |
|
||
BorderStyle |
|
||
ClipControls |
새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 그래픽을 참조하십시오. |
||
Container |
|||
CurrentX CurrentY |
새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 그래픽을 참조하십시오. |
||
DataChanged DataField DataFormat DataMember DataSource |
새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 데이터 액세스를 참조하십시오. |
||
DragIcon DragMode |
새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 끌어서 놓기를 참조하십시오. |
||
DrawMode DrawStyle DrawWidth FillColor FillStyle |
새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 그래픽을 참조하십시오. |
||
Font FontBold FontItalic FontName FontSize FontStrikethrough FontUnderline |
|
||
ForeColor |
|
||
HasDC HDC |
새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 그래픽을 참조하십시오. |
||
Height |
|
||
HelpContextID |
새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 도움말 지원을 참조하십시오. |
||
HWnd |
|||
Image |
새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 그래픽을 참조하십시오.
|
||
Index |
새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 컨트롤 배열을 참조하십시오. |
||
Left |
|
||
LinkItem LinkMode LinkTimeOut LinkTopic |
해당 요소가 없습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 동적 데이터 교환을 참조하십시오. |
||
MouseIcon |
새롭게 구현되었습니다. 자세한 내용은 사용자 지정 MousePointer를 설정할 수 없습니다.를 참조하십시오. |
||
MousePointer |
상수 목록은 Visual Basic 6.0 사용자를 위한 MousePointer를 참조하십시오. |
||
OLEDragMode OLEDropMode |
새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 끌어서 놓기를 참조하십시오. |
||
Parent |
|||
Picture |
|||
ScaleHeight ScaleLeft ScaleMode ScaleTop ScaleWidth |
새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 좌표계를 참조하십시오. |
||
ToolTipText |
ToolTip 구성 요소 자세한 내용은 Visual Basic 6.0 사용자를 위한 도구 설명 지원을 참조하십시오. |
||
Top |
|
||
WhatsThisHelpID |
새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 도움말 지원을 참조하십시오. |
||
Width |
|
메서드
Visual Basic 6.0 |
동일한 기능의 Visual Basic 2008 요소 |
||
---|---|---|---|
Circle Cls |
새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 그래픽을 참조하십시오. |
||
Drag |
새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 끌어서 놓기를 참조하십시오. |
||
Line |
새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 그래픽을 참조하십시오. |
||
LinkExecute LinkPoke LinkRequest LinkSend |
해당 요소가 없습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 동적 데이터 교환을 참조하십시오. |
||
Move |
|
||
OLEDrag |
새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 끌어서 놓기를 참조하십시오. |
||
PaintPicture Point PSet |
새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 그래픽을 참조하십시오. |
||
Scale ScaleX ScaleY |
새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 좌표계를 참조하십시오. |
||
SetFocus |
|||
ShowWhatsThis |
새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 도움말 지원을 참조하십시오. |
||
TextHeight TextWidth |
새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 그래픽을 참조하십시오. |
||
ZOrder |
BringToFront 또는 SendToBack 메서드 |
이벤트
Visual Basic 6.0 |
동일한 기능의 Visual Basic 2008 요소 |
---|---|
Change |
새롭게 구현되었습니다. 일부 속성이 변경될 때 발생하는 BackgroundImageChanged, SizeChanged 등의 개별적인 이벤트가 있습니다. |
DblClick |
|
DragDrop DragOver |
새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 끌어서 놓기를 참조하십시오. |
GotFocus |
|
KeyDown KeyPress KeyUp |
새롭게 구현되었습니다. Visual Basic 2008PictureBox 컨트롤은 컨테이너 컨트롤이 아니며 키 입력을 받아들이지 않습니다. |
LinkClose LinkError LinkNotify LinkOpen |
해당 요소가 없습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 동적 데이터 교환을 참조하십시오. |
LostFocus |
|
OLECompleteDrag OLEDragDrop OLEDragOver OLEGiveFeedback OLESetData OLEStartDrag |
새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 끌어서 놓기를 참조하십시오. |
Validate |
업그레이드 참고 사항
업그레이드할 때 다른 컨트롤이 포함된 PictureBox 컨트롤은 Panel 컨트롤로 업그레이드됩니다. Panel 컨트롤로 업그레이드된 Visual Basic 6.0 PictureBox 컨트롤의 경우 Picture 속성에 할당된 이미지는 Panel 컨트롤의 BackgroundPicture 속성에 매핑됩니다.