Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Obtener frecuencia del monitor (https://www.clubdelphi.com/foros/showthread.php?t=39735)

|NoName| 28-01-2007 23:06:06

Obtener frecuencia del monitor
 
Quiero ejecutar una aplicación a una resolución predeterminada, pero claro, cuando la misma se cierra es necesario volver a la configuración anterior.

http://www.clubdelphi.com/foros/showthread.php?t=37575

El código publicado en ese hilo me funciona correctamente salvo por el detalle que no tiene en cuenta la frecuencia del monitor.
Descubrí que la misma se puede obtener utilizando EnumDisplaySettings() pero sinceramente no consigo implementarlo.
Le agradezco desde yá a cualquiera que me pueda dar una mano para incorporar esta característica.


Código Delphi [-]
uses Windows;

function SetScreenResolution(Ancho, Altura: integer): Longint;
var
  DeviceMode: TDeviceMode;
begin
  with DeviceMode do begin
    dmSize := SizeOf(TDeviceMode);
    dmPelsWidth := Ancho;
    dmPelsHeight := Altura;
    dmFields := DM_PELSWIDTH or DM_PELSHEIGHT;
  end;
  Result := ChangeDisplaySettings(DeviceMode, CDS_UPDATEREGISTRY);
end;

// implementación

var
  AnchoViejo, AlturaVieja: integer;

procedure TForm1.Button1Click(Sender: TObject);
begin
  AnchoViejo := GetSystemMetrics(SM_CXSCREEN);
  AlturaVieja := GetSystemMetrics(SM_CYSCREEN);
  SetScreenResolution(800, 600);
end;


// reestablecer
procedure TForm1.Button2Click(Sender: TObject);
begin
  SetScreenResolution(AnchoViejo, AlturaVieja);
end;


La franja horaria es GMT +2. Ahora son las 06:58:42.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi