Ver Mensaje Individual
  #1  
Antiguo 30-06-2006
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - Espańa
Posts: 18.281
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
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.
Responder Con Cita