Compartilhar via


Objeto Screen para usuários do Visual Basic 6.0

O Visual Basic 6.0 Screen objeto não possui equivalente direto Visual Basic 2008, mas a maior parte de sua funcionalidade pode ser duplicada usando o .NET Framework.

Diferenças Conceituais

No Visual Basic 6.0, a Screen objeto fornece acesso ao formulário ativo e controle em seu aplicativo, fornece informações sobre a tela onde o aplicativo estiver sendo exibido e lhe permite controlar a aparência do cursor.

In Visual Basic 2008, não há nenhum equivalente direto para o Screen objeto, mas a maior parte de sua funcionalidade pode ser duplicada usando o .NET Framework.

Observação:

Visual Basic 2008 tem um Screen propriedade —My.Computer.Screen. Diferentemente do Visual Basic 6.0 de Screen objeto, My.Computer.Screen Retorna apenas informações somente leitura sobre a tela, sistema autônomo seu nome de dispositivo, sua área de trabalho e a profundidade de cor. Para mais informações, consulte: My.Computador.Tela Propriedade.

Propriedade ActiveControl

No Visual Basic 6.0, a ActiveControl propriedade das Screen objeto é usado para determinar o controle tem foco. The ActiveControl propriedade pode ser usada em uma capacidade global, sistema autônomo em Screen.ActiveControl, onde o controle ativo no formulário atualmente selecionado é retornado. Se um formulário específico é referenciado, por exemplo, Form2.ActiveControl, ActiveControl Especifica o controle terá o foco se o formulário referenciado estiver ativo.

In Visual Basic 2008, não é mais um global ActiveControl propriedade; cada instância de um formulário possui seu próprio ActiveControl propriedade. Ao fazer referência a um formulário específico, essa propriedade funciona exatamente como a que tinha no Visual Basic 6.0.Para determinar o controle ativo no formulário atualmente selecionado, você deve primeiro iterar o OpenForms coleta e a seleção de ContainsFocus propriedade para determinar qual formulário está ativo.

Propriedade ActiveForm

No Visual Basic 6.0, a ActiveForm propriedade das Screen objeto é usado para determinar qual formulário atualmente tem o foco. Se um formulário pai MDI tem o foco, ActiveForm retornará o formulário MDI filho que tinha o foco pela última vez.

In Visual Basic 2008, não é mais um global ActiveForm propriedade. Para determinar o formulário ativo, você deve iterar o OpenForms coleção e localizar o formulário com sua ContainsFocus conjunto de propriedades como True.

Visual Basic 2008 Formulários de pai MDI (todos os formulários com IsMDIContainer conjunto para True) tem um ActiveMDIChild propriedade que pode ser usada para retornar o formulário filho ativo sem usar o OpenForms coleção.

Propriedade MousePointer

No Visual Basic 6.0, a MousePointer propriedade das Screen objeto é usado para alterar a aparência do cursor; uma vez definida aplica a todas as formas no aplicativo.

In Visual Basic 2008, não é mais um global MousePointer propriedade; cada formulário tem um Cursor propriedade que pode ser usada para alterar a aparência do cursor para o formulário somente.

Propriedades TwipsPerPixel

No Visual Basic 6.0, a TwipsPerPixelX e TwipsPerPixelY propriedades das Screen objeto são usados para converter as medidas da tela de um twip (a unidade padrão de medida no Visual Basic 6.0) lógico para pixels.

In Visual Basic 2008, pixels são a unidade padrão de medida; não existe mais nenhuma necessidade de converter.

Alterações código para o objeto Screen

Os exemplos a seguir ilustram diferenças na codificação técnicas entre o Visual Basic 6.0 e Visual Basic 2008.

Alterações código para determinar o controle Active

O código a seguir demonstra como copiar o texto do controleatualmente selecionado no formulário atualmente selecionado para a Área de transferência.

' 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

Alterações código para determinar o formulário Active

O código a seguir demonstra como alterar a legenda do formulário atualmente selecionado.

' 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

Alterações código para determinar o formulário ativo em um aplicativo MDI

O código a seguir demonstra como alterar a legenda do formulário MDI filho atualmente selecionado.

' Visual Basic 6.0
Screen.ActiveForm.Caption = "This is the selected child form"
' Visual Basic
Me.ActiveMdiChild.Text = "This is the selected child form"

Equivalências entre Propriedades do objeto Screen

A tabela a seguir lista propriedades no Visual Basic 6.0 e seus Visual Basic 2008 equivalentes. Links são fornecidos conforme necessário para tópicos explicando diferenças no comportamento.Onde não há nenhum equivalente direto no Visual Basic 2008, são fornecidos links para tópicos que apresentam alternativas.

Propriedades

Visual Basic 6,0

Visual Basic 2008 Equivalent

ActiveControl

My.Application.OpenForms(0).ActiveControl

ActiveForm

My.Application.OpenForms(0).ContainsFocus ou

ActiveMdiChild (Aplicativos MDI)

FontCount

Fonts

Nova implementação.O comportamento para enumerar fontes é diferente.Para obter mais informações, consulte Fonte de tratamento para usuários do Visual Basic 6.0.

Height

My.Computer.Screen.Bounds.Height

MouseIcon

Nova implementação.Para obter mais informações, consulte Não é possível definir um MousePointer personalizado.

MousePointer

System.Windows.Forms.Cursor

TwipsPerPixelX

TwipsPerPixelY

Nova implementação.In Visual Basic 2008, coordenadas estão em pixels; twips não são usados sistema autônomo uma unidade de medida.

Width

My.Computer.Screen.Bounds.Width

Observações de Atualização

Quando um aplicativo Visual Basic 6.0 é atualizado para Visual Basic 2008, qualquer Screen Propriedades do objeto são atualizadas para seus Visual Basic 2008 equivalente. Onde houver diferenças no comportamento, comentários de atualização são inseridos no código.

Consulte também

Conceitos

Objeto App para usuários do Visual Basic 6.0

Fonte de tratamento para usuários do Visual Basic 6.0

Referência

Propriedade My.Aplicativo.OpenForms

My.Computador.Tela Propriedade