Visual Basic 6.0 사용자를 위한 Screen 개체
업데이트: 2007년 11월
Visual Basic 2008에는 Visual Basic 6.0 Screen 개체에 직접 해당하는 요소는 없지만 .NET Framework를 사용하여 이 개체의 대부분의 기능을 복제할 수 있습니다.
개념적 차이
Visual Basic 6.0에서는 Screen 개체를 통해 응용 프로그램의 활성 폼과 컨트롤에 액세스하고 응용 프로그램이 표시된 화면에 대한 정보를 얻고 커서의 모양을 제어할 수 있었습니다.
Visual Basic 2008에서는 Screen 개체에 직접 해당하는 요소가 없지만 .NET Framework를 사용하면 이 개체의 대부분의 기능을 복제할 수 있습니다.
참고: |
---|
Visual Basic 2008에서는 Screen 속성인 My.Computer.Screen이 있습니다. Visual Basic 6.0의 Screen 개체와 달리 My.Computer.Screen은 장치 이름, 작업 영역, 색상 수와 같은 화면에 대한 읽기 전용 정보만 반환합니다. 자세한 내용은 My.Computer.Screen 속성을 참조하십시오. |
ActiveControl 속성
Visual Basic 6.0에서는 Screen 개체의 ActiveControl 속성을 사용하여 포커스가 있는 컨트롤을 확인합니다. ActiveControl 속성은 현재 선택한 폼의 활성 컨트롤이 반환되는 Screen.ActiveControl과 같은 전역 용량에 사용할 수 있습니다. Form2.ActiveControl과 같이 특정 폼을 참조하면 ActiveControl은 참조된 폼이 활성화될 경우 포커스를 받을 컨트롤을 지정합니다.
Visual Basic 2008에서는 더 이상 전역 ActiveControl 속성이 없지만 폼의 각 인스턴스에는 고유한 ActiveControl 속성이 있습니다. 특정 폼을 참조하면 이 속성은 Visual Basic 6.0에서와 동일하게 동작합니다. 현재 선택된 폼에서 활성 컨트롤을 확인하려면 먼저 OpenForms 컬렉션 전체를 반복한 다음 ContainsFocus 속성을 검사하여 활성 폼을 확인해야 합니다.
ActiveForm 속성
Visual Basic 6.0에서는 Screen 개체의 ActiveForm 속성을 사용하여 현재 포커스가 있는 폼을 확인합니다. MDI 부모 폼에 포커스가 있으면 ActiveForm에서는 마지막으로 포커스가 있던 MDI 자식 폼을 반환합니다.
Visual Basic 2008에는 더 이상 전역 ActiveForm 속성이 없습니다. 활성 폼을 확인하려면 OpenForms 컬렉션 전체를 반복하면서 ContainsFocus 속성이 True로 설정된 폼을 찾아야 합니다.
Visual Basic 2008 MDI 부모 폼(True로 설정된 IsMDIContainer가 있는 모든 폼)에는 OpenForms 컬렉션을 사용하지 않고 활성 자식 폼을 반환하는 데 사용할 수 있는 ActiveMDIChild 속성이 있습니다.
MousePointer 속성
Visual Basic 6.0에서는 Screen 개체의 MousePointer 속성을 사용하여 커서의 모양을 변경합니다. 한 번 설정하면 이 속성은 응용 프로그램의 모든 폼에 적용됩니다.
Visual Basic 2008에는 더 이상 전역 MousePointer 속성이 없지만 각 폼에는 해당 폼에 대해서만 커서 모양을 변경하는 데 사용할 수 있는 Cursor 속성이 있습니다.
TwipsPerPixel 속성
Visual Basic 6.0에서는 Screen 개체의 TwipsPerPixelX 및 TwipsPerPixelY 속성을 사용하여 화면 측정 단위를 논리 트윕(Visual Basic 6.0에서의 표준 측정 단위)에서 픽셀로 변환합니다.
Visual Basic 2008에서는 픽셀이 표준 측정 단위이므로 변환할 필요가 없습니다.
Screen 개체에 대한 코드 변경
다음 예제에서는 Visual Basic 6.0과 Visual Basic 2008 간 코딩 기술의 차이점을 보여 줍니다.
활성 컨트롤 확인에 대한 코드 변경
다음 코드에서는 현재 선택된 폼에서 현재 선택된 컨트롤의 텍스트를 클립보드로 복사하는 방법을 보여 줍니다.
' Visual Basic 6.0
If TypeOf Screen.ActiveControl Is TextBox Then
Clipboard.SetText Screen.ActiveControl.Text
End If
' Visual Basic
Dim i As Integer
For i = 0 To My.Application.OpenForms.Count - 1
If My.Application.OpenForms.Item(i).ContainsFocus Then
If TypeOf (My.Application.OpenForms.Item(i).ActiveControl) _
Is TextBox Then
My.Computer.Clipboard.SetText(My.Application.OpenForms. _
Item(i).ActiveControl.Text)
End If
End If
Next
활성 폼 확인에 대한 코드 변경
다음 코드에서는 현재 선택된 폼의 캡션을 변경하는 방법을 보여 줍니다.
' Visual Basic 6.0
Screen.ActiveForm.Caption = "This is the selected form"
' Visual Basic
Dim i As Integer
For i = 0 To My.Application.OpenForms.Count - 1
If My.Application.OpenForms.Item(i).ContainsFocus Then
My.Application.OpenForms.Item(i).Text = _
"This is the selected form"
End If
Next
MDI 응용 프로그램에서의 활성 폼 확인에 대한 코드 변경
다음 코드에서는 현재 선택된 MDI 자식 폼의 캡션을 변경하는 방법을 보여 줍니다.
' Visual Basic 6.0
Screen.ActiveForm.Caption = "This is the selected child form"
' Visual Basic
Me.ActiveMdiChild.Text = "This is the selected child form"
Screen 개체 속성
다음 표에서는 Visual Basic 6.0 속성과 이에 해당하는 Visual Basic 2008 요소를 보여 줍니다. 필요한 경우 동작의 차이점을 설명하는 항목에 대한 링크가 제공되며 직접 해당하는 요소가 Visual Basic 2008에 없는 경우에는 다른 방법을 제시하는 항목에 대한 링크를 제공합니다.
속성
Visual Basic 6.0 |
Visual Basic 2008같은 값 |
---|---|
ActiveControl |
My.Application.OpenForms(0).ActiveControl |
ActiveForm |
My.Application.OpenForms(0).ContainsFocus 또는 ActiveMdiChild(MDI 응용 프로그램) |
FontCount Fonts |
새롭게 구현되었습니다. 글꼴 열거 동작이 변경되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 글꼴 처리를 참조하십시오. |
Height |
My.Computer.Screen.Bounds.Height |
MouseIcon |
새롭게 구현되었습니다. 자세한 내용은 사용자 지정 MousePointer를 설정할 수 없습니다.를 참조하십시오. |
MousePointer |
System.Windows.Forms.Cursor |
TwipsPerPixelX TwipsPerPixelY |
새롭게 구현되었습니다. Visual Basic 2008에서는 좌표 단위가 픽셀이며 트윕은 측정 단위로 사용되지 않습니다. |
Width |
My.Computer.Screen.Bounds.Width |
업그레이드 참고 사항
Visual Basic 6.0 응용 프로그램을 Visual Basic 2008로 업그레이드하면 모든 Screen 개체 속성은 Visual Basic 2008의 해당 요소로 업그레이드됩니다. 동작에 차이가 있는 경우에는 코드에 업그레이드 주석이 삽입됩니다.
참고 항목
개념
Visual Basic 6.0 사용자를 위한 App 개체
Visual Basic 6.0 사용자를 위한 글꼴 처리