Objet Screen pour les utilisateurs de Visual Basic 6.0
Mise à jour : novembre 2007
L'objet Screen de Visual Basic 6.0 n'a aucun équivalent direct dans Visual Basic 2008, mais la plupart de ses fonctionnalités peuvent être reproduites à l'aide de .NET Framework.
Différences conceptuelles
Dans Visual Basic 6.0, l'objet Screen fournit l'accès au formulaire et au contrôle actif dans votre application, fournit des informations sur l'écran où l'application est affichée, et vous permet de contrôler l'apparence du curseur.
Dans Visual Basic 2008, il n'y a aucun équivalent direct de l'objet Screen, mais la plupart de ses fonctionnalités peuvent être reproduites à l'aide de .NET Framework.
Remarque : |
---|
Visual Basic 2008 possède une propriété Screen—My.Computer.Screen. Contrairement à l'objet Visual Basic 6.0 Screen, My.Computer.Screen retourne uniquement des informations en lecture seule relatives à l'écran, telles que son nom de périphérique, sa zone de travail et sa profondeur chromatique. Pour plus d'informations, consultez My.Computer.Screen, propriété |
Propriété ActiveControl
Dans Visual Basic 6.0, la propriété ActiveControl de l'objet Screen sert à déterminer le contrôle qui a le focus. La propriété ActiveControl peut être utilisée dans une capacité globale, comme dans Screen.ActiveControl, où le contrôle actif est retourné sur le formulaire actuellement sélectionné. Si un formulaire spécifique est référencé, par exemple, Form2.ActiveControl, ActiveControl spécifie le contrôle qui aura le focus si le formulaire référencé est actif.
Dans Visual Basic 2008, il n'y a plus de propriété globale ActiveControl ; chaque instance d'un formulaire dispose de sa propre propriété ActiveControl. Lors du référencement d'un formulaire spécifique, cette propriété fonctionne exactement comme dans Visual Basic 6.0. Pour déterminer le contrôle actif sur le formulaire actuellement sélectionné, vous devez d'abord parcourir la collection OpenForms et vérifier la propriété ContainsFocus pour déterminer quel formulaire est actif.
ActiveForm, propriété
Dans Visual Basic 6.0, la propriété ActiveForm de l'objet Screen sert à déterminer le formulaire qui a le focus. Si un formulaire MDI parent a le focus, ActiveForm retourne le dernier formulaire MDI enfant à avoir eu le focus.
Dans Visual Basic 2008, il n'y a plus de propriété ActiveForm globale. Pour déterminer le formulaire actif, vous devez effectuer une itération sur la collection OpenForms et rechercher le formulaire dont la propriété ContainsFocus a pour valeur True.
Les formulaires MDI parents de Visual Basic 2008 (tout formulaire dans lequel IsMDIContainer a pour valeur True) ont une propriété ActiveMDIChild qui peut être utilisée pour retourner le formulaire enfant actif sans utiliser la collection OpenForms.
Propriété MousePointer
Dans Visual Basic 6.0, la propriété MousePointer de l'objet Screen est utilisée pour modifier l'apparence du curseur; une fois définie, elle s'applique à tous les formulaires de l'application.
Dans Visual Basic 2008, il n'y a plus de propriété MousePointer globale ; chaque formulaire dispose d'une propriété Cursor propre qui peut être utilisée pour modifier l'aspect du curseur uniquement dans ce formulaire.
Propriétés TwipsPerPixel
Dans Visual Basic 6.0, les propriétés TwipsPerPixelX et TwipsPerPixelY de l'objet Screen sont utilisées pour convertir des cotes d'écran d'un twip logique (l'unité de mesure standard dans Visual Basic 6.0.) en pixels.
Dans Visual Basic 2008, les pixels sont l'unité de mesure standard ; une conversion n'est plus nécessaire.
Modifications du code pour l'objet Screen
Les exemples ci-dessous illustrent les différences entre les techniques de codage dans Visual Basic 6.0 et dans Visual Basic 2008.
Modifications du code pour déterminer le contrôle actif
Le code suivant montre comment copier le texte du contrôle actuellement sélectionné sur le formulaire actuellement sélectionné dans le Presse-papiers.
' 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
Modifications du code pour déterminer le formulaire actif
Le code suivant illustre la modification de la légende du formulaire en cours de sélection.
' 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
Modifications du code pour déterminer le formulaire actif dans une application MDI
Le code suivant illustre la modification de la légende du formulaire MDI enfant en cours de sélection.
' Visual Basic 6.0
Screen.ActiveForm.Caption = "This is the selected child form"
' Visual Basic
Me.ActiveMdiChild.Text = "This is the selected child form"
Équivalences des propriétés d'objet Screen
Le tableau suivant répertorie les propriétés Visual Basic 6.0 et leurs équivalents dans Visual Basic 2008. Le cas échéant, des liens vous renvoient vers des rubriques expliquant les différences de comportement. Lorsqu'il n'existe pas d'équivalent direct dans Visual Basic 2008, des liens vous renvoient vers des rubriques proposant des alternatives.
Propriétés
Visual Basic 6.0 |
Visual Basic 2008Équivalent |
---|---|
ActiveControl |
My.Application.OpenForms(0).ActiveControl |
ActiveForm |
My.Application.OpenForms(0).ContainsFocus ou ActiveMdiChild (applications MDI) |
FontCount Fonts |
Nouvelle implémentation. Le comportement d'énumération des polices est différent. Pour plus d'informations, consultez Gestion des polices pour les utilisateurs de Visual Basic 6.0. |
Height |
My.Computer.Screen.Bounds.Height |
MouseIcon |
Nouvelle implémentation. Pour plus d'informations, consultez Impossible de définir un pointeur de souris personnalisé. |
MousePointer |
System.Windows.Forms.Cursor |
TwipsPerPixelX TwipsPerPixelY |
Nouvelle implémentation. Dans Visual Basic 2008, les coordonnées sont en pixels ; les twips ne sont pas utilisés comme unité de mesure. |
Width |
My.Computer.Screen.Bounds.Width |
Mettre à niveau des remarques
Lorsqu'une application Visual Basic 6.0 est mise à niveau vers Visual Basic 2008, toutes les propriétés de l'objet Screen sont mises à niveau vers leurs équivalents Visual Basic 2008. Des commentaires de mise à niveau sont insérés dans le code aux endroits où des différences de comportement sont susceptibles de se produire.
Voir aussi
Concepts
Objet App pour les utilisateurs de Visual Basic 6.0
Gestion des polices pour les utilisateurs de Visual Basic 6.0