Wie erkenne ich mein display eine Auflösung in VB6?
Ich bin mit dem folgenden code:
Private Sub Form_Load()
ResWidth = Screen.Width \ Screen.TwipsPerPixelX
ResHeight = Screen.Height \ Screen.TwipsPerPixelY
ScreenRes = ResWidth & "x" & ResHeight
MsgBox (ScreenRes)
End Sub
Und einige andere ähnliche codes, die ich habe gegoogelt für. Das problem ist, ich bekomme immer eine Meldung, die sagen, dass meine Auflösung beträgt 1200x1200, obwohl meine eigentliche Auflösung ist 1920x1200. Warum bin ich immer schlechte Ergebnisse?
- Fügen Sie dem Bildschirm.width, screen.Höhe, twipsperpixelx und twipsperpixely Werte, um Ihre message-box, was Sie bekommen?
- Funktioniert prefectly auf meinem system! Neugierig problem....
- Ich denke, das sollte funktionieren, es sieht gut aus. Ist es etwas ungewöhnliches, über das system?
- Was ist mit mehreren Monitoren?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht sicher, warum das nicht funktioniert, könnte man aber Tippen Sie in der Windows-API.
Und dann wenn Sie Sie brauchen, die Bildschirm Breite und Höhe an, definieren Sie diese Konstanten:
Dann können Sie
GetSystemMetrics
wo Sie es brauchen. Wenn es mehr Sinn macht, fügen Sie die Deklaration und Konstanten in einem Modul (.BAS), dann stellen Sie einfach die Deklaration und Konstanten öffentlichkeit.GetSystemMetrics auf den Microsoft-Support
Scheint es, dass es ein problem mit dem Screen-Objekt in VB6. Als pro KB253940 PRB: Fehlerhafter Screen-Objekt-Breite/- Höhe, Nachdem der Desktop skaliert Wird:
KB empfiehlt GetDeviceCaps API-Funktion um das problem zu umgehen:
Wenn Sie das arbeiten mit Windows Mobile, der Weg ist etwas anders. Sie müssen verwenden Sie die nächste Methode:
In dem vorherigen Beispiel zugeordnet ist, die 32% der Bildschirm Breite zu
width
variable.