PDA

Ver la Versión Completa : ¿Adaptar a cualquier resolución o cambiar a la que to quiera?


Jan_polero
23-11-2004, 11:15:00
Hola a todos,´mi intención es hacer un pequeño juego que se adaptase a cualquier resolución de pantalla. Por ello, me gustaría que me facilitaseis algunos aspectos a tener en cuenta.O si convendría más adaptar la resolución a la que yo quiera,gracias.

Cabanyaler
23-11-2004, 11:37:35
Voy a exponerte lo que yo hago en mis aplicaciones. primero controlo la resolución que tiene el usuario y le pongo la que yo deseo (presuponiendo que la targeta gráfica la soporte). Al salir repongo la resolución que tenía.
Una mejora (como posible ejercicio de repaso ;) ), podría ser el implementar la reposición de la resolución del usuario al minimizar también la aplicación, poniendo la deseada de nuevo al magnificarla.
Indicaré el código y la unidad donde incluirlo.
Espero te sirva.


Lugar: Unidad principal del proyecto, donde se lanza la aplicación.

var
// Añadido para la resolución
ResOriginal:TDevMode;
NuevaRes:TDevMode;
// Fin Añadido para la resolución
cambio:boolean; // Var. bandera para saber si he cambiado la resolución



Lugar: Unidad principal del proyecto, donde se lanza la aplicación. Justo despues del begin de comienzo del principal.

begin
// Añadido para la resolución
cambio:= false;
// Guarda la resolución original
EnumDisplaySettings(Nil,Cardinal(-1),ResOriginal);
// Si la resolución es diferente de 1024x768, la cambia
If ((Resoriginal.dmpelsWidth<>1024) or (Resoriginal.dmpelsheight<>768))
then
begin
EnumDisplaySettings(Nil,Cardinal(-1),NuevaRes);
NuevaRes.dmpelsWidth :=1024;
NuevaRes.dmPelsHeight:=768;
ChangeDisplaySettings(NuevaRes,CDS_UPDATEREGISTRY);
cambio:= true;
end;
// Fin añadido por la resolución



Lugar: Unidad principal del proyecto, en la última línea del cuerpo principal.

// Restaura la resolución original
if cambio then ChangeDisplaySettings(Resoriginal,CDS_UPDATEREGISTRY);


Espero no haberme dejado nada.
Sort.