AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Betriebssysteme Auflösung 800x480 auf zweitem Monitor einstellen
Thema durchsuchen
Ansicht
Themen-Optionen

Auflösung 800x480 auf zweitem Monitor einstellen

Ein Thema von Martin K · begonnen am 28. Nov 2008 · letzter Beitrag vom 29. Nov 2008
Antwort Antwort
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#1

Re: Auflösung 800x480 auf zweitem Monitor einstellen

  Alt 28. Nov 2008, 23:50
Danke erstmal für eure Antworten.
Leider bekomme ich es nicht gebacken:
Egal ob ich ChangeDisplaySettings oder ChangeDisplaySettingsEx nehme, ich erhalte immer: DISP_CHANGE_BADMODE (The graphics mode is not supported.)
Folgender Code:
Delphi-Quellcode:
function SetResolution(DeviceName: PChar; Width, Height: Word; Freq :Cardinal): String;
var lpDevMode: TDeviceMode;
begin
  if EnumDisplaySettings(DeviceName, 0, lpDevMode) then
  begin
    lpDevMode.dmFields := DM_PELSWIDTH Or DM_PELSHEIGHT Or DM_DISPLAYFREQUENCY;
    lpDevMode.dmPelsWidth := Width;
    lpDevMode.dmPelsHeight := Height;
    lpDevMode.dmDisplayFrequency := Freq;
    case ChangeDisplaySettingsEx(DeviceName, lpDevMode, 0, CDS_UPDATEREGISTRY, nil) of
      DISP_CHANGE_SUCCESSFUL: Result := 'DISP_CHANGE_SUCCESSFUL';
      DISP_CHANGE_BADFLAGS: Result := 'DISP_CHANGE_BADFLAGS';
      DISP_CHANGE_BADMODE: Result := 'DISP_CHANGE_BADMODE';
      DISP_CHANGE_BADPARAM: Result := 'DISP_CHANGE_BADPARAM';
      DISP_CHANGE_FAILED: Result := 'DISP_CHANGE_FAILED';
      DISP_CHANGE_NOTUPDATED: Result := 'DISP_CHANGE_NOTUPDATED';
      DISP_CHANGE_RESTART: Result := 'DISP_CHANGE_RESTART';
    end;
  end;
end;

procedure TForm5.FormCreate(Sender: TObject);
var Device: TDisplayDevice;
begin
  Device.cb := SizeOf(Device);
  if EnumDisplayDevices(nil, 1, Device, 1) then
    Caption := SetResolution(Device.DeviceName, 800, 480, 60);
  // Caption := Device.DeviceName;
end;
Komischerweise, als ich es mit 800x600 probiert habe, wurde die Auflösung des ersten Monitors geändert. Hier macht es auch durchaus Sinn, wenn 800x480 "not supported" ist, da dieser über DVI angeschlossen ist und hier übertragen wird, welche Auflösungen gültig sind. Bei dem Zweitmonitor (über VGA) aber anscheinend nicht, hier müsste 800x480 ja gehen, aber komischerweise ändert dieser Code ja die Auflösung des ersten Monitors...
Wenn ich Device.DeviceName ausgebe, erhalte ich aber: \\.\DISPLAY2
Also müsste es doch der zweite sein?

Zitat von Florian H:
Zitat von Martin K:
da gibts so nen ATI-Catalyst Center, aber den will ich ned installieren, weil der dann auch neue Treiber mit drauf macht und damit hatte ich nur Probleme (Bild friert kurzzeitig ein, etc.) Mit den Windows-Standardtreibern funzt es am besten!
Scheinbar nicht?
Die Standardtreiber sind da wirklich etwas unflexibel, mit den Treibern der Grafikkarten-Hersteller hat man aber deutlich mehr Möglichkeiten.
Wenn da das Bild einfriert, hast du wohl entweder eine sehr neue oder sehr alte Grafikkarte? Ansonsten werden solche Bugs doch eigentlich schnell behoben, hast du die aktuellste (ggf Beta-) Version schon ausprobiert?
Also ich will da nix mehr mit dem ATI-Zeugs rumprobieren (schlechte Erfahrungen). Meine Karte ist wohl eher etwas älter (ATI Radeon X300 SE) und ich hatte immer das Gefühl, dass es bei jeder neuen Treiberversion von ATI immer schlimmer wurde (mit dem Einfrieren), kann aber auch sein dass das Einfrieren erst kam, seit dem ich den (ersten) Monitor mit einer relativ hohen Auflösung (1920x1200) hatte. Jedenfalls gabs bei den Windows-Standardtreibern nie Probleme diesbezüglich, alles läuft flüssig (okay, das mit der Auflösung geht halt ned )
War nicht nur das Einfrieren sondern noch andere Sachen, z.B. Scrollen bei großen Dokumenten war viel langsamer, etc...


Zitat von scrat1979:
Ich benutze das Tool UltraMon und bin super zufrieden damit. Müsste GraKa-unabhängig sein!!!
Hier kann ich immerhin auch andere Auflösungen einstellen, aber 800x480 ist nicht dabei...
640x480 oder 720x480 geht, wobei meiner 720x480 nicht unterstützt.
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
Antwort Antwort


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 21:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz