Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Durch Auflösung nicht zentriert (https://www.delphipraxis.net/63838-durch-aufloesung-nicht-zentriert.html)

pacman1986 23. Feb 2006 15:27


Durch Auflösung nicht zentriert
 
nachdem ich die auflösung geändert hab mit delphi
Delphi-Quellcode:
function NewRes(XRes, YRes: DWORD; Frequency: Cardinal): Integer;
var
  DevMode: TDeviceMode;
begin
  EnumDisplaySettings(nil, 0, DevMode);
  DevMode.dmFields := DM_PELSWIDTH or DM_PELSHEIGHT or DM_DISPLAYFREQUENCY;
  DevMode.dmPelsWidth := XRes;
  DevMode.dmPelsHeight := YRes;
  DevMode.dmDisplayFrequency := Frequency;
  Result := ChangeDisplaySettings(DevMode, 0);
end;
is links und oben noch 1- 2 cm schwarz alles was ist los ?

jfheins 23. Feb 2006 15:32

Re: Durch Auflösung nicht zentriert
 
Ich kann dir zwar nicht helfen, aber bist du sicher, dass du Delphi.NET benutzt ?

pacman1986 23. Feb 2006 15:42

Re: Durch Auflösung nicht zentriert
 
ups :-D :coder2:

Luckie 23. Feb 2006 15:49

Re: Durch Auflösung nicht zentriert
 
Von welcher Auflösung in welche schaltest du um und unterstützen das die Grafikkarte und der Monitor? Ghet es denn über die Eigenschaften der Grafikkarte richtig?

pacman1986 23. Feb 2006 15:53

Re: Durch Auflösung nicht zentriert
 
jep von 1024*768 auf 800*600 halt ....
alles wir unterstützt

pacman1986 23. Feb 2006 16:00

Re: Durch Auflösung nicht zentriert
 
habs dank dir Luckie
die Frequenz wurd bei dieser auflösung net unterstützt hab 75 bei 800* 600 aber nur 60 funzen danke euch :D

Nicolai1234 23. Feb 2006 16:00

Re: Durch Auflösung nicht zentriert
 
hmm, ich jetzt nicht woran der Fehler liegt, aber probiere dochmal den QT aus der Codelib: Wie kann ich die Bildschirmauflösung ändern?
Vielleicht geht es ja damit. Vllt. liegt es ja auch an der Frequenz...

Edit: Mist, zu langsam

Daniel Schuhmann 23. Feb 2006 16:41

Re: Durch Auflösung nicht zentriert
 
Benutzt Du ein Notebook? Dann solltest Du im BIOS oder im Treiber mal die Option einstellen, dass das Bild auf den ganzen Monitor gezogen wird. In vielen Treibern lässt sich das deaktivieren, damit die kleinere Auflösung klar bleibt und nicht interpoliert wird.

Ansonsten (normaler PC mit CRT) wird es sicher ein Frequenzproblem sein, ggf. einfach das Bild in der neuen Auflösung nochmal einstellen.

turboPASCAL 23. Feb 2006 17:35

Re: Durch Auflösung nicht zentriert
 
Ändern der Bildschirmauflösung:

Delphi-Quellcode:
function ChangeRes(X, Y:Integer; Frequency: Byte; FullScreen: Boolean): Boolean;
var DevMode:TDeviceMode;
begin
  // Initialisieren
  EnumDisplaySettings(nil, 0, DevMode);
  DevMode.dmFields := DM_PELSWIDTH or DM_PELSHEIGHT or DM_DISPLAYFREQUENCY;
  DevMode.dmDisplayFrequency := Frequency;
  DevMode.dmPelsWidth := X;
  DevMode.dmPelsHeight := Y;

  // Auflösung ändern
  if FullScreen
    then Result := ChangeDisplaySettings(DevMode, CDS_FULLSCREEN) = DISP_CHANGE_SUCCESSFUL
    else Result := ChangeDisplaySettings(DevMode, 0) = DISP_CHANGE_SUCCESSFUL;
end;

// Aufruf zB.:
begin
  //...
  If not ChangeRes(800, 600, 0, True) then
  begin
    MessageBox(0,
      'Das ändern der Auflösung ist fehlgeschlagen....',
      'Fehler:', MB_OK or MB_ICONERROR);
    Exit;
  end;

  //...
 
  //  Normale, in Windows eingestellte Bildschirmauflösung wiederherstellen:
  ChangeDisplaySettings(PDeviceMode(nil)^,0);
end;
Wenn bei Frequency "0" angegeben wird setzt Win die passende (wenn möglich).
Es ist nicht gut einfach eine Vorzugeben, da auch TFT's nicht immer 1024x768 mit 6Hz darstellen,
Die Frequenz muss man dan auch erst mittels GetDeviceCaps auslesen/bestimmen.

zB.:
Delphi-Quellcode:
  DC := GetDC(Handle);
  Bits := GetDeviceCaps(DC, BITSPIXEL);
  HRes := GetDeviceCaps(DC, HORZRES);
  VRes := GetDeviceCaps(DC, VERTRES);
  Freq := GetDeviceCaps(DC, VREFRESH); //<---<<<

pacman1986 24. Feb 2006 20:46

Re: Durch Auflösung nicht zentriert
 
Danke PRobier ich gleich ma aus :D


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:27 Uhr.
Seite 1 von 2  1 2      

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