Sdílet prostřednictvím


Screen-Objekt für Visual Basic 6.0-Benutzer

Aktualisiert: November 2007

Für das Screen-Objekt von Visual Basic 6.0 ist in Visual Basic 2008 keine direkte Entsprechung verfügbar, für die meisten Funktionen des Objekts kann jedoch .NET Framework verwendet werden.

Konzeptionelle Unterschiede

Mit dem Screen-Objekt von Visual Basic 6.0 werden der Zugriff auf das aktive Formular und Steuerelement einer Anwendung sowie Informationen zum Bildschirm bereitgestellt, auf dem die Anwendung angezeigt wird. Darüber hinaus kann damit das Erscheinungsbild des Cursors gesteuert werden.

In Visual Basic 2008 ist für das Screen-Objekt keine direkte Entsprechung verfügbar, für die meisten der Funktionen des Objekts kann jedoch .NET Framework verwendet werden.

dy2xdatz.alert_note(de-de,VS.90).gifHinweis:

Visual Basic 2008 verfügt über eine Screen-EigenschaftMy.Computer.Screen. Im Unterschied zum Screen-Objekt von Visual Basic 6.0 gibt My.Computer.Screen lediglich schreibgeschützte Informationen zum Bildschirm zurück, z. B. den Gerätenamen, den Arbeitsbereich und die Farbtiefe. Weitere Informationen finden Sie unter My.Computer.Screen-Eigenschaft.

ActiveControl-Eigenschaft

In Visual Basic 6.0 wird mit der ActiveControl-Eigenschaft des Screen-Objekts das fokussierte Steuerelement bestimmt. Die ActiveControl-Eigenschaft kann global angewendet werden, beispielsweise in Screen.ActiveControl, wo das aktive Steuerelement auf dem aktuell ausgewählten Formular zurückgegeben wird. Bei einem Verweis auf ein bestimmtes Formular, z. B. Form2.ActiveControl, gibt ActiveControl das Steuerelement an, das den Fokus erhält, sobald das betreffende Formular aktiviert wird.

In Visual Basic 2008 ist keine globale ActiveControl-Eigenschaft mehr vorhanden. Jede Instanz eines Formulars verfügt über eine eigene ActiveControl-Eigenschaft. Wenn auf ein bestimmtes Formular verwiesen wird, verhält sich die Eigenschaft genau wie in Visual Basic 6.0. Um das aktive Steuerelement des momentan ausgewählten Formulars zu bestimmen, müssen Sie zunächst die OpenForms-Auflistung durchlaufen sowie die ContainsFocus-Eigenschaft prüfen und so das aktive Formular ermitteln.

ActiveForm-Eigenschaft

In Visual Basic 6.0 wird mit der ActiveForm-Eigenschaft des Screen-Objekts das aktuell fokussierte Formular ermittelt. Wenn ein übergeordnetes MDI-Formular den Fokus besitzt, gibt ActiveForm das untergeordnete MDI-Formular zurück, das als letztes fokussiert wurde.

In Visual Basic 2008 gibt es keine globale ActiveForm-Eigenschaft mehr. Um das aktive Formular zu bestimmen, müssen Sie die OpenForms-Auflistung durchlaufen und das Formular suchen, dessen ContainsFocus-Eigenschaft auf True festgelegt ist.

In Visual Basic 2008 verfügen übergeordnete MDI-Formulare (Formulare, deren IsMDIContainer auf True festgelegt ist) über eine ActiveMDIChild-Eigenschaft, mit der das aktive untergeordnete Formular ohne Verwendung der OpenForms-Auflistung zurückgegeben werden kann.

MousePointer-Eigenschaft

In Visual Basic 6.0 wird mit der MousePointer-Eigenschaft des Screen-Objekts das Erscheinungsbild des Cursors geändert. Nach dem Festlegen gilt dieser Cursor für alle Formulare der Anwendung.

In Visual Basic 2008 gibt es keine globale MousePointer-Eigenschaft. Jedes Formular verfügt über eine eigene Cursor-Eigenschaft, mit der das Erscheinungsbild des Cursors nur im jeweiligen Formular geändert werden kann.

TwipsPerPixel-Eigenschaften

In Visual Basic 6.0 werden mithilfe der TwipsPerPixelX-Eigenschaft und der TwipsPerPixelY-Eigenschaft des Screen-Objekts die in logischen Twips (Standardmaßeinheit in Visual Basic) angegebenen Bildschirmmaße in Pixel konvertiert.

In Visual Basic 2008 werden standardmäßig Pixel als Maßeinheit verwendet. Eine Konvertierung ist daher nicht erforderlich.

Änderungen am Code des Screen-Objekts

Im folgenden Beispiel werden Unterschiede in den Codierungstechniken von Visual Basic 6.0 und Visual Basic 2008 dargestellt.

Änderungen am Code, um das aktive Steuerelement zu bestimmen

Im folgenden Code wird veranschaulicht, wie Text aus dem aktuell ausgewählten Steuerelement des aktiven Formulars in die Zwischenablage kopiert wird.

' 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

Änderungen am Code, um das aktive Formular zu bestimmen

Der folgende Code veranschaulicht, wie die Beschriftung des momentan ausgewählten Formulars geändert wird.

' 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

Änderungen am Code, um das aktive Formular in einer MID-Anwendung zu ermitteln

Der folgende Code veranschaulicht, wie die Beschriftung des momentan aktiven untergeordneten MDI-Formulars geändert wird.

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

Entsprechungen zu Eigenschaften des Screen-Objekts

In der folgenden Tabelle werden die Eigenschaften von Visual Basic 6.0 zusammen mit ihren Visual Basic 2008-Entsprechungen aufgeführt. Bei Bedarf werden Links zu Themen bereitgestellt, in denen die Unterschiede im Verhalten erläutert werden. Wenn in Visual Basic 2008 keine direkte Entsprechung vorhanden ist, werden Links zu Themen bereitgestellt, die Alternativen behandeln.

Eigenschaften

Visual Basic 6.0

Visual Basic 2008-Entsprechung

ActiveControl

My.Application.OpenForms(0).ActiveControl

ActiveForm

My.Application.OpenForms(0).ContainsFocus oder

ActiveMdiChild (MDI-Anwendungen)

FontCount

Fonts

Neue Implementierung. Das Verhalten für die Auflistung von Schriften wurde geändert. Weitere Informationen finden Sie unter Schriftartbehandlung für Visual Basic 6.0-Benutzer.

Height

My.Computer.Screen.Bounds.Height

MouseIcon

Neue Implementierung. Weitere Informationen finden Sie unter Es kann kein benutzerdefinierter MousePointer festgelegt werden.

MousePointer

System.Windows.Forms.Cursor

TwipsPerPixelX

TwipsPerPixelY

Neue Implementierung. In Visual Basic 2008 werden die Koordinaten in Pixel angegeben (die Maßeinheit Twips wird nicht verwendet).

Width

My.Computer.Screen.Bounds.Width

Hinweise zum Durchführen des Updates

Wenn eine Visual Basic 6.0-Anwendung auf Visual Basic 2008 aktualisiert wird, werden die Objekteigenschaften aller Screen-Objekte auf ihre Entsprechungen in Visual Basic 2008 aktualisiert. Bei Abweichungen im Verhalten werden Updatekommentare in den Code eingefügt.

Siehe auch

Konzepte

App-Objekt für Visual Basic 6.0-Benutzer

Schriftartbehandlung für Visual Basic 6.0-Benutzer

Referenz

My.Application.OpenForms-Eigenschaft

My.Computer.Screen-Eigenschaft