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
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
.dmDisplayOrientation = Orientierung
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
Hallo
anbei deine screenBsp von mir geändert. Ich ändere die Auflösung nicht, nur die Orientierung.
Hi,
vielen Dank, funktioniert (aber nicht auf allen Grafikkarten).
Harald
Hallo,
funktioniert (leider) nur auf dem primären Monitor.
Ansonsten aber interessanter Code
Gruß Andreas
Hallo Andreas
anbei drehen Display X
Das ist extrem Cool!
Zumal mein 2. Display um 90° drehbar ist.
Gruß Andreas