Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Auflösung von 2. Monitor ändern (https://www.delphipraxis.net/35848-aufloesung-von-2-monitor-aendern.html)

bolidor 12. Dez 2004 15:53


Auflösung von 2. Monitor ändern
 
Hallo,
ich habe, wie in den einschlägigen Tutorials beschrieben, versucht nicht nur die AUflösung des ersten sondern auch des 2. (ein und dieselbe Grafikkarte, GeForce2 GO) zu ändern. (Meine Anwendung soll Vollbild auf beiden Bildschirmen laufen)
Ich hole mir die Infos per

Delphi-Quellcode:
EnumDisplaySettings('\\.\Display2',0,DevMode);
änderen dann den Record DevMode und versuche dann die Änderung mit

Delphi-Quellcode:
ChangeDisplaySettings(DevMode, 0);
zu bewerkstelligen. Fehlanzeige: die AUflösung des Primärbildschirms ändert sich und auf dem 2. ändert sich nur die Größe des Hintergrundbildes....
Bin hier echt am austicken :pale: und für jede Hilfe dankbar...

Mat

Der "komplette" Code sieht so aus:
Delphi-Quellcode:
class function TMonitor.ChangeResolution(XResolution, YResolution, Depth: DWORD; _MonitorIndex:ShortInt): BOOL;
var
   DevMode : TDeviceMode;

begin
   Result := False;
   EnumDisplaySettings(PChar('\\.\Display'+IntToStr(_MonitorIndex)),0,DevMode);
   DevMode.dmFields:=DM_PELSWIDTH or DM_PELSHEIGHT;
   DevMode.dmPelsWidth:=XResolution;
   DevMode.dmPelsHeight:=YResolution;
   DevMode.dmColor := Depth;
   { Hier vielleicht noch die Wiederholfrequenz festlegen }
   Result:= (ChangeDisplaySettings(DevMode, 0) = DISP_CHANGE_SUCCESSFUL);
end;

supermuckl 12. Dez 2004 15:56

Re: Auflösung von 2. Monitor ändern
 
herzlich willkommen :)

also meines wissens kann man rein über windows keine 2 getrennten monitor devices gleichzeitig auf vollbild modus setzen

wenn es deine graka aber schon von haus aus hardwaretechnisch emulieren kann sieht das anderst aus ( matrox )

bolidor 12. Dez 2004 16:01

Re: Auflösung von 2. Monitor ändern
 
WIe, ich kann nicht die Auflösung vom 2. Monitor ändern? Wie sieht das dann bei Matrox aus?

stoxx 12. Dez 2004 16:15

Re: Auflösung von 2. Monitor ändern
 
Zitat:

Zitat von bolidor
WIe, ich kann nicht die Auflösung vom 2. Monitor ändern? Wie sieht das dann bei Matrox aus?

Hi,

Matrox kann eine Auflösung von 2048x1024 so darstellen, dass ein und dasselbe Bild auf zwei Monitore verteilt wird.
Windows wird nur ein Bildschirm eben mit dieser Auflösung vorgegaukelt.
Wie das bei Geforce aussieht, weiss ich nicht.

Aber nun zu Deinem PRoblem.

Zitat:

versucht nicht nur die AUflösung des ersten sondern auch des 2. (ein und dieselbe Grafikkarte, GeForce2 GO) zu ändern.
Ich verweise einfach mal auf
DelphiWorks

http://delphiworks.sourceforge.net/index.htm

dort gibt es eine Funktion

function dwChangeScreenMode(const Index: Byte;
var ScreenMode: TDWScreenMode): Boolean; overload;



die genau dies macht.

viele Grüße
stoxx

Muetze1 12. Dez 2004 18:15

Re: Auflösung von 2. Monitor ändern
 
Moin!

Scherzkeks - sich die Info's für den 2. Monitor holen und dem ersten Monitor sagen er soll sich ändern. Ist dir noch nicht aufgefallen, das bei deinem ChangeDisplaySettings() der Monitorstring fehlt um anzugeben das du den 2. Monitor meinst? Daher: nutze ChangeDisplaySettingsEx() - der bietet dies und nur damit funktioniert das...

MfG
Muetze1

bolidor 13. Dez 2004 10:01

Re: Auflösung von 2. Monitor ändern
 
:roll: Upsa. Ok, schon wieder was gelernt. Win32API, Microsoft: schaue nach entsprechender -ex Methode....
Vielen Dank
:coder2:


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:51 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