Rubrik: System/Windows · Desktop/Bildschirm/Display | VB-Versionen: VB4, VB5, VB6 | 26.02.02 |
Bildschirmauflösung schnell ermitteln Mit nur wenigen Zeilen Code lässt sich ermitteln, welche Bildschirmauflösung im System eingestellt ist. | ||
Autor: Dieter Otter | Bewertung: | Views: 46.126 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, Win8, Win10, Win11 | Beispielprojekt auf CD |
Die Bildschirmauflösung spielt in vielen Fällen keine unwesentliche Rolle. Gerade wenn es darum geht, Fenster und Controls entsprechend der Bildschirmauflösung anzuordnen.
Oder folgender Fall: Ihre Programm benötigt für eine korrekte Ausführung eine Mindestbildschirmauflösung von 800x600 Pixel. Ist beim Anwender eine niedrigere Auflösung eingestellt, soll ein entsprechender Hinweis erscheinen.
Um nun die eingestellte Bildschirmauflösung zu ermitteln, kann man sich der Windows-API bedienen oder noch viel einfacher, nachfolgenden Code verwenden.
' Bildschirmauflösung ermitteln Dim xRes As Long Dim yRes As Long ' x und y Auflösung xRes = Screen.Width / Screen.TwipsPerPixelX yRes = Screen.Height / Screen.TwipsPerPixelY
Wie sie sehen, fragen wir einfach die Width und Height-Eigenschaften des Screen-Objekts ab. Da uns VB die Werte aber in der Maßeinheit Twips angibt, müssen wir diese noch in die Maßeinheit Pixel umrechnen. Das war's auch schon.
Anwendungsbeispiel:
Private Sub Form_Load() ' Prüfen, ob Auflösung mind. 800x600 beträgt With Screen If .Width / .TwipsPerPixelX < 800 Or _ .Height / .TwipsPerPixelY < 600 Then MsgBox "ACHTUNG!" & vbCrLf & "Diese Anwendung erfordert " & _ "eine Bildschirmauflösung von mind. 800x600 Pixel!" End End If End With End Sub