Detectar un cambio en las propiedades de la pantalla  

Enviado Por: Radikal (Q3 Team)
Web : http://www.q3.nu
Email: radikal@q3.nu
Fecha: 09/08/01

Truco accedido 81 veces

 


Util para adaptar el tamaño de nuestra aplicacion, por ejemplo si el usuario cambia la resolución de la pantalla teniendo nuestro programa abierto...

Cuando el usuario cambia el modo de video, Windows informa a nuestra aplicación mediante el mensaje WM_DISPLAYCHANGE
Por tanto, sólo tendremos que capturarlo y poner ahí nuestro código.

Para capturar el mensaje, pondremos esta linea en la parte private de nuestra form:


 type
   TForm1 = class(TForm)
   private
     { Private declarations }
     procedure CambioEnDisplay(var Message: TMessage); message WM_DISPLAYCHANGE; {Esta Linea / This Line}
   public
     { Public declarations }
   end;



Y ahora, en la parte implementation pondremos la correspondiente implementación de la procedure:


 procedure TForm1.CambioEnDisplay(var Message: TMessage);
 begin
   ShowMessage('Cambio en la pantalla detectado'+#10+
               'Display properties changed!');
   inherited;
 end;