Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Trucos (https://www.clubdelphi.com/foros/forumdisplay.php?f=52)
-   -   Cambios en resolución de pantalla (https://www.clubdelphi.com/foros/showthread.php?t=80544)

Neftali [Germán.Estévez] 30-06-2006 12:58:11

Cambios en resolución de pantalla
 
Sobre cambios de resolución de la pantalla en W98 y NT.

PREGUNTA: ¿Cómo puedo saber desde el ejecutable la resolución de la pantalla en W.98 o NT? ¿Puedo modificarla y restablecerla al salir de la aplicación a como estuviese a mi entrada?

RESPUESTA: Sí que se puede. Para obtener la resolución actual puedes usar, por ejemplo, la función EnumDisplaySettings(). Ésta sirve para obtener todos los modos permitidos en el adaptador instalado, pero usando el valor -1 como segundo parámetro de da la información del modo actual.

Código Delphi [-]
Var ModoOriginal: TDevMode;
begin
     EnumDisplaySettings('\\.\Display1', Cardinal(-1), ModoOriginal);
     ShowMessage(IntToStr(ModoOriginal.dmPelsWidth));

A continuación puedes cambiar de modo, con ChangeDisplaySettingsEx(), y después recuperar el modo original con esa misma función.

El objeto TScreen te puede servir para obtener algunos datos, pero lo bueno de EnumDisplaySettings() es que te devuelve una estructura que después puedes usar para restablecer el modo original.


La franja horaria es GMT +2. Ahora son las 12:21:26.

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