Ver Mensaje Individual
  #1  
Antiguo 10-09-2003
Forjap Forjap is offline
Registrado
 
Registrado: ago 2003
Posts: 1
Reputación: 0
Forjap Va por buen camino
Question Como puedo hacer para obtener la frecuencia de refresco horizontal del monitor??

Pues eso.. mi codigo fuente ( por si alguien se le ocurre algo mejor o alguien lo quiere coger...)
....
Como puedo obtener la frecuencia de refresco horizontal??

Procedure CambioResolucion(X,Y: Word; Frec: Cardinal; Cambiada: Boolean );
var
DevMode: TDeviceMode;
X_Ant, Y_Ant : Integer;
Frec_Ant : Byte;
begin
EnumDisplaySettings(nil, 0, DevMode);
X_Ant := GetSystemMetrics(SM_CXSCREEN);
Y_Ant := GetSystemMetrics(SM_CYSCREEN);

Frec_Ant := (DevMode.dmDisplayFrequency); //esto es lo que se debe mejorar
DevMode.dmFields := DM_PELSWIDTH or DM_PELSHEIGHT or DM_DISPLAYFREQUENCY;
DevMode.dmPelsWidth := X;
DevMode.dmPelsHeight := Y;
DevMode.dmDisplayFrequency := Frec;
Case ChangeDisplaySettings(DevMode, 0) Of
DISP_CHANGE_SUCCESSFUL :
Begin
// Application.MessageBox('Desea conservar esta configuracion?','CA');
If (not Cambiada) Then
If MessageDlg('Desea conservar esta configuración?',mtInformation ,mbOKCancel,0)= mrCancel then CambioResolucion(X_Ant, Y_Ant, Frec_Ant, True);
End;
DISP_CHANGE_FAILED :
Begin
ShowMessage('El controlador de pantalla no soporta ese modo gráfico');
End;
DISP_CHANGE_BADMODE :
Begin
ShowMessage('El modo gráfico no es soportado');
End;
End;

se le llama con ... CambioResolucion(1024,768,60,False);
Responder Con Cita