![]() |
Durch Auflösung nicht zentriert
nachdem ich die auflösung geändert hab mit delphi
Delphi-Quellcode:
is links und oben noch 1- 2 cm schwarz alles was ist los ?
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; |
Re: Durch Auflösung nicht zentriert
Ich kann dir zwar nicht helfen, aber bist du sicher, dass du Delphi.NET benutzt ?
|
Re: Durch Auflösung nicht zentriert
ups :-D :coder2:
|
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?
|
Re: Durch Auflösung nicht zentriert
jep von 1024*768 auf 800*600 halt ....
alles wir unterstützt |
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 |
Re: Durch Auflösung nicht zentriert
hmm, ich jetzt nicht woran der Fehler liegt, aber probiere dochmal den QT aus der Codelib:
![]() Vielleicht geht es ja damit. Vllt. liegt es ja auch an der Frequenz... Edit: Mist, zu langsam |
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. |
Re: Durch Auflösung nicht zentriert
Ändern der Bildschirmauflösung:
Delphi-Quellcode:
Wenn bei Frequency "0" angegeben wird setzt Win die passende (wenn möglich).
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; 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); //<---<<< |
Re: Durch Auflösung nicht zentriert
Danke PRobier ich gleich ma aus :D
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:10 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