Einzelnen Beitrag anzeigen

Muetze1
(Gast)

n/a Beiträge
 
#4

Re: Bildschirmauflösung und Farbtiefe ermitteln und ändern

  Alt 15. Jun 2004, 18:01
Moin!

Is ja nicht das Ding...

Delphi-Quellcode:
function change_resolution(Const AWidth, AHeight, ABpp : Word): boolean;
var
  lpDevMode: TDeviceMode;
begin
  lpDevMode.dmFields := DM_PELSWIDTH or DM_PELSHEIGHT or DM_BITSPERPEL;
  lpDevMode.dmPelsWidth := AWidth;
  lpDevMode.dmPelsHeight := AHeight;
  lpDevMode.dmBitsPerPel := ABpp;
  Result := ( ChangeDisplaySettings(lpDevMode, CDS_UPDATEREGISTRY) = DISP_CHANGE_SUCCESSFUL );
end;
Und hier nochmal eine Deluxe Version, die die Bildwiederholfrequenz mitsetzt, aber nur, wenn du sie auch angibst, ansonsten ändert er nix an der Wiederholfrequenz (besser gesgt, er nimmt dann die Default).

Delphi-Quellcode:
Function change_resolution(Const AWidth, AHeight, ABpp : Word; Const ARefreshRate : Word = 0): Boolean;
Var
  lpDevMode: TDeviceMode;
Begin
  lpDevMode.dmFields := DM_PELSWIDTH or DM_PELSHEIGHT or DM_BITSPERPEL;
  lpDevMode.dmPelsWidth := AWidth;
  lpDevMode.dmPelsHeight := AHeight;
  lpDevMode.dmBitsPerPel := ABpp;

  If ( ARefreshRate > 0 ) Then
  Begin
    lpDevMode.dmDisplayFrequency := ARefreshRate;
    lpDevMode.dmFields := lpDevMode.dmFields Or DM_DISPLAYFREQUENCY;
  End;

  Result := ( ChangeDisplaySettings(lpDevMode, CDS_UPDATEREGISTRY) = DISP_CHANGE_SUCCESSFUL );
End;
MfG
Muetze1
  Mit Zitat antworten Zitat