Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

ChangeDisplaySettings: Wie ist die Bildschirm-Orientierung einstellbar?

Begonnen von bahasu, April 24, 2014, 18:40:11

⏪ vorheriges - nächstes ⏩

bahasu

Hallo

mit den im Anhang verwendeten API-Aufrufen kann ich die Auflösung des Bildschirms wie gewünscht einstellen.

Die in http://msdn.microsoft.com/en-us/library/ms812499.aspx beschriebene Möglichkeit {leider kein VBA} zum Einstellen der Orientierung funktioniert leider nicht (mit DMDO_180 = 2 sollte eine um 180° gedrehte Darstellung erhalten werden}.

Wie kann ich die Drehung per VBA erreichen?

Harald
Servus

daolix

Hallo
die UDT Devmode beinhaltet eine Union ein Ding das VBA nicht kennt. Da du die eher für einen Printer in VBA angepasste DevModeUDT verwendest hast du zum setzen der Orientierung das falsche Element herangezogen.
Probiers mal mal so:
.dmScale = Orientierung
oder du passt die UDT an, dann ist es wie in dem von dir gelinkten Bsp.

Type typDevMODE
        dmDeviceName As String * CCDEVICENAME
        dmSpecVersion As Integer
        dmDriverVersion As Integer
        dmSize As Integer
        dmDriverExtra As Integer
        dmFields As Long
        Pointlx as long
        Pointly as long
        dmDisplayOrientation As Long
        dmDisplayFixedOutput As Long
        dmColor As Integer
        dmDuplex As Integer
        dmYResolution As Integer
        dmTTOption As Integer
        dmCollate As Integer
        dmFormName As String * CCFORMNAME
        dmUnusedPadding As Integer
        dmBitsPerPel As Integer
        dmPelsWidth As Long
        dmPelsHeight As Long
        dmDisplayFlags As Long
        dmDisplayFrequency As Long
    End Type

Code (vbnet) [Auswählen]
.dmDisplayOrientation = Orientierung



bahasu

Hi,

danke für die Antwort.
Allerdings ist das Ergebnis bei beiden Varianten das gleiche: Die Auflösung wird geändert, die Orientierung nicht.

Bei einem Versuch hatte ich die Drehung via Grafik-Treibersoftware gemacht und dann die einzelnen Settings abgefragt. Bei keinem der Parameter war ein Unterschied zwischen gedrehter und nicht gedrehter Orientierung zu erkennen.

Harald
Servus

daolix

Hallo
anbei deine screenBsp von mir geändert. Ich ändere die Auflösung nicht, nur die Orientierung.

bahasu

Hi,

vielen Dank, funktioniert (aber nicht auf allen Grafikkarten).

Harald
Servus

Hondo

Hallo,
funktioniert (leider) nur auf dem primären Monitor.
Ansonsten aber interessanter Code

Gruß Andreas

daolix


Hondo

Das ist extrem Cool!
Zumal mein 2. Display um 90° drehbar ist.

Gruß Andreas