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 사용자를 위한 글꼴 처리

참조

My.Application.OpenForms 속성

My.Computer.Screen 속성