Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Resolucion de pantalla (https://www.clubdelphi.com/foros/showthread.php?t=4358)

hermes_32 13-10-2003 17:22:47

Resolucion de pantalla
 
Hola a todos. Yo tengo una funcion para cambiar la resolucion de la pantalla que me funciona siempre. Bien es que no he probado a pasarle una resolucion de pantalla rara pero si me funciona para cambiar a 800x600 y 1024x768 que es lo que yo utilizo. Bueno me dejo de pamplinas y voy a lo que interesa por aqui.

Antes de cambiar de resolucion de pantalla me guardo en 2 variables los valores de la resolucion inicial para cuando cierre la aplicacion dejar la resolucion que habia.

Código Delphi [-]
uses Windows;

var  Ywindow : Integer;
       Xwindow : Integer;

esto seria:
    Xwindow := GetSystemMetrics(0);
    Ywindow := GetSystemMetrics(1);
    If (Xwindow <> 800) Or (Ywindow <> 600) Then CambiaResolucion(800, 600);


procedure CambiaResolucion(Alto, Ancho : Integer);
var a : Boolean;
    I : LongInt;
    b : Double;
    DevChg : TDeviceModeA;
begin
  I := 0;
  a := True;
  while (a = True) do
    begin
      inc(I);
      a := EnumDisplaySettings(nil, I, DevChg);
    end;
  DevChg.dmFields := DM_PELSWIDTH Or DM_PELSHEIGHT;
  DevChg.dmPelsWidth := Alto;
  DevChg.dmPelsHeight := Ancho;
  b := ChangeDisplaySettings(DevChg, 0);
End;


Os repito que a mi me funciona bien. Intentadlo. Espero que os ayude.

torito 14-10-2003 19:43:31

Esta excelente... lo voy a probar ya que me hace mucha falta... gracias

acrophet 16-10-2003 11:25:40

Hola, he probado la funcioncita esta y la verdad es que va de maravilla. Solo tengo una pequeña pega, que al cambiar de resolucion, me desaparece la barra d inicio.
Sabeis a que es debido, o como puedo hacer para que sea visible?
Un saludo.

hermes_32 18-10-2003 15:28:03

La verdad es que tienes razón pero...oye...no se lo que puede pasar. Si lo descubro no tengas duda que lo pondre aqui.
Un saludo.

bulc 13-06-2015 19:47:41

Da un error en a := EnumDisplaySettings
 
He probado el código que se sugiere y me encuentro un error en la línea:

Código Delphi [-]
  a := EnumDisplaySettings(nil, I, DevChg);

He puesto en OnCreate:

Código Delphi [-]
Xwindow := GetSystemMetrics(0);
Ywindow := GetSystemMetrics(1);
If (Xwindow <> 800) Or (Ywindow <> 600) Then CambiaResolucion(800, 600);

¿Alguien sabe cómo reconducirlo?
Saludos.
bulc

Casimiro Notevi 13-06-2015 23:18:00

Cita:

Empezado por bulc (Mensaje 493306)
He probado el código que se sugiere y me encuentro un error en la línea:

Desde aquí no vemos el error que te sale ;)


La franja horaria es GMT +2. Ahora son las 15:07:54.

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