AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Bildschirm drehen

Ein Thema von ddcool · begonnen am 30. Nov 2007 · letzter Beitrag vom 6. Dez 2007
Antwort Antwort
Seite 1 von 2  1 2      
ddcool

Registriert seit: 8. Jun 2003
146 Beiträge
 
Delphi XE2 Architect
 
#1

Bildschirm drehen

  Alt 30. Nov 2007, 11:29
Hallo zusammen,

ich verzweifle langsam. Ich bin jetzt seit 2 Stunden im Internet und auch hier im Forum am suchen nach einer Möglichkeit meinen Bildschirm um 90,180,270° drehen zu lassen. Ich habe schon einige Quelltexte gefunden und auch ausprobiert, leider ohne Erfolg.
In vielen Quelltexten wird beschrieben, es über den Wert dmDisplayOrientation zu machen, jedoch gibt es diese nicht unter CodeGear RAD.
Hier einfach mal ein Quelltext den ich probiert habe (bin sogar so weit gegangen und habe die Windows.pas mit dem Wert dmDisplayOrientation ergänzt und compiliert, auch ohne Erfolg). Alle anderen Möglichkeiten den Bildschirm zu verändern (sprich Auflösung, Bildwiederholrate, Farbtiefe etc. funktionieren):

Delphi-Quellcode:
const
  DMDO_0 = 0;
  DMDO_90 = 1;
  DMDO_180 = 2;
  DMDO_270 = 4;
  DM_DISPLAYORIENTATION = $00000080;

procedure StartMonitor;
Var
  lDevMode : TDevMode;
begin
    ZeroMemory(@lDevMode, sizeof(lDevMode));
    lDevMode.dmSize := sizeof(lDevMode);
    EnumDisplaySettings(nil, 0, lDevMode);
    lDevMode.dmFields := DM_PELSWIDTH or DM_PELSHEIGHT or DM_DISPLAYORIENTATION;
    lDevMode.dmDisplayOrientation := DMDO_90;
    lDevMode.dmPelsWidth := 600; //Monitorweite
    lDevMode.dmPelsHeight := 800; //Monitorhöhe}

    case ChangeDisplaySettings(&lDevMode,CDS_UPDATEREGISTRY) of

      DISP_CHANGE_SUCCESSFUL: ShowMessage('DISP_CHANGE_SUCCESSFUL');
      DISP_CHANGE_BADFLAGS: ShowMessage('DISP_CHANGE_BADFLAGS');
      DISP_CHANGE_BADMODE: ShowMessage('DISP_CHANGE_BADMODE');
      DISP_CHANGE_BADPARAM: ShowMessage('DISP_CHANGE_BADPARAM');
      DISP_CHANGE_FAILED: ShowMessage('DISP_CHANGE_FAILED');
      DISP_CHANGE_NOTUPDATED: ShowMessage('DISP_CHANGE_NOTUPDATED');
      DISP_CHANGE_RESTART: ShowMessage('DISP_CHANGE_RESTART');
    end;
end;
Ich wäre euch sehr verbunden, wenn einer von Euch mir einen funktionierenden Quellcode hier posten könnte.

Vielen Dank

ddcool
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Bildschirm drehen

  Alt 30. Nov 2007, 11:38
als erstes fällt mir auf das du gar nicht prüfst ob EnumDisplaySettings erfolgreich ist. Und zum anderen glaube ich das nicht jede Grafikkarte dies beherscht.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
ddcool

Registriert seit: 8. Jun 2003
146 Beiträge
 
Delphi XE2 Architect
 
#3

Re: Bildschirm drehen

  Alt 30. Nov 2007, 11:42
Jo ersteres ist richtig. Ist ja aber auch nur einer von vielen Quelltexten die ich erfolglos probiert habe.
Zweiteres ist mir auch klar jedoch habe ich ein Gerät welches diese Funktion unterstützt. Andere Programme im Netz machen das auch einwandfrei, nur die sind ja leider nicht OpenSource. Ich möchte diese Funktion jedoch aus einem eingenen Programm aus starten, weil 1. Muss das ganze nachher auf 300 Rechner passieren und was mit einem Kostenpflichtigen Programm aus dem Internet nur mit viel Aufwand auf die 300 Geräte gebracht werden kann und 2. würden die Lizenzen für so ein Programm zu teuer werden => Selber proggen
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Bildschirm drehen

  Alt 30. Nov 2007, 11:45
welche Fehlermeldung bekommst du beim setzen?
Bei ChangeDisplaySettings im MSDN finde ich nirgends DM_DISPLAYORIENTATION
Folglich würde ich behaupten das es über diese Funktion wohl nicht funktioniert.

Und bei EnumDisplaySettings solltest du ENUM_CURRENT_SETTINGS übergeben.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
ddcool

Registriert seit: 8. Jun 2003
146 Beiträge
 
Delphi XE2 Architect
 
#5

Re: Bildschirm drehen

  Alt 30. Nov 2007, 12:11
Das ist es ja ich bekomme gar keine Fehlermeldung.
Alle deine Beispiele habe ich bereits ausprobiert, leider ohne erfolg.
Vielleicht hat ja jemand schon einen funktionierenden Quelltext auf seinem Rechner, den er mir zur Verfügung stellen kann.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Bildschirm drehen

  Alt 30. Nov 2007, 15:05
ich denke mit den obigen funktionen wird es nicht funktionieren denn diese beachten eben die orientation nicht (zumindest laut msdn)
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
ddcool

Registriert seit: 8. Jun 2003
146 Beiträge
 
Delphi XE2 Architect
 
#7

Re: Bildschirm drehen

  Alt 3. Dez 2007, 09:31
Tja ich habe leider in der MSDN auch nichts brauchbares gefunden. Immer nur für WinCE.
Vielleicht hat hier ja schon jemand mal so einen Code geschrieben oder in seinem Code-Archiv. Wäre echt klasse.

Danke ddcool
  Mit Zitat antworten Zitat
ddcool

Registriert seit: 8. Jun 2003
146 Beiträge
 
Delphi XE2 Architect
 
#8

Re: Bildschirm drehen

  Alt 3. Dez 2007, 14:43
Also ich habe jetzt mal das Samsung Tool "MagicRotate" ausprobiert. Funktioniert klasse. Es scheint Windows einfach vorzugaukeln, dass Monitor und Grafikkarte diese Auflösung unterstützen. Wie genau es dieses Tool macht weiss ich nicht, aber vll weiss ja jemand wie man Windows sowas vorgaukelt.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Bildschirm drehen

  Alt 3. Dez 2007, 14:58
Du könntest ja mal bei der Firma anfragen welche Api-Funktion verwendet wird.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
ddcool

Registriert seit: 8. Jun 2003
146 Beiträge
 
Delphi XE2 Architect
 
#10

Re: Bildschirm drehen

  Alt 3. Dez 2007, 15:11
Schon gemacht. Antwort (auf deutsch übersetzt): Es tut uns leid aber wir sind nicht befugt Ihnen darüber auskunft zu geben.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz