Delphi - Resolución

 
Vista:

Resolución

Publicado por Cristián (115 intervenciones) el 05/12/2003 23:22:27
Hola!! yo de nuevo, jeje!! espero me ayuden... Yo uso una función para cambiar la resolución del monitor
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;
... hay alguna manera de saber si el monitor soporta dicha resolución? ´Pues he tenido problemas con varios monitores los cuales no soportaban dicha resolución y al cambiarsela la pantalla se queda en negro y pues ya no regresa a como estaba antes.
Alguien sabe como hacerlo? Esa funcion que use la baje de internet, pero solo viene eso.
Espero su respuesta. Gracias :-)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Resolución

Publicado por HSL (1 intervención) el 06/12/2003 05:53:38
Yo tambien baje esta de internet, no la he probado pero intentalo:

Const
Ancho = 640; // Ancho del diseño
Alto = 480; // Alto del diseño
................................
procedure TForm1.FormCreate(Sender: TObject);
begin
Height := Height * Screen.Height Div Alto;
Width := Width * Screen.Width Div Ancho;
ScaleBy(Screen.Width, Ancho);
end;

Las constantes Ancho y Alto deben almacenar la resolución usada durante el diseño. En el momento en que se crea el formulario, se calcula la relación existente entre el modo de diseño y el modo actual, cuyas dimensiones tomamos del objeto Screen. La llamada al método ScaleBy se encargará de modificar proporcionalmente el tamaño de todos los controles, adaptando también los tipos de letra.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar