Thema: Delphi Bildschirm drehen

Einzelnen Beitrag anzeigen

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