Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Aplicación maximizada descolocada en la pantalla (https://www.clubdelphi.com/foros/showthread.php?t=68469)

jjoliveras 15-06-2010 20:47:51

Aplicación maximizada descolocada en la pantalla
 
Hola a todos,

No encuentro la solución a un problema que tenemos y espero que alguien pueda darnos una idea de cual pueda ser.

Tenemos una aplicación que comenzamos en Delphi 7 y hace poco que la migramos a RAD 2007, hasta ahí no hubos "muchos problemas", pero lo curioso ha sido cuando hemos adquirido unos monitores de 22" widescreen para aprovechar mejor el nuevo IDE 2007 y nuestro problema es el siguiente.

Hemos observado, que cuando compilamos en estos equipos con estos monitores y lanzamos la aplicación en equipos de nuestros clientes con pantallas normales, la aplicación no se ajusta a los bordes de sus pantallas y queda desplazada hacia abajo y hacia la derecha, mientras que en nuestras pantallas y la de los clientes que tienen widescreen quedan totalmente ajustadas.

No encuentro información alguna y quisiera saber si alguien a tenido la misma experiencia o sabe como solucionarlo.

Espero sus noticias, un cordial saludo a todos y gracias de antemano.

BrunoBsso 15-06-2010 21:08:35

Eso me pasó muchas veces. El tema es que vos en tu IDE ves que el formulario entra perfecto en la pantalla, pero no te fijas cuántos pixeles abarca.
Cuando lo abrís en un monitor con menor resolución, el programa tiene más pixeles que el monitor, así que no se muestra todo.
La solución es reconocer, con las propiedades de Screen, la resolución del monitor actual y adaptarlo.
Saludos.

PD: espero que se haya entendido, creo que no lo expliqué muy bien.

jjoliveras 15-06-2010 21:32:36

Gracias BrunoBsso,

Probaré a hacerlo de esa forma y responderé con el resultado. Es posible que hayamos alargado la pantalla en diseño sin darnos cuenta y radique ahí el problema.

A veces las cosas más simples son la respuesta a los problemas.;)

Un saludo.

Lepe 15-06-2010 22:50:58

Hay un detalle importante que se nos escapa, "el maximizado".

Si la ventana tiene form1.WindowState = wsMaximized, entonces es un problema de Delphi. Pero si la ventana por casualidad es un MDI, entonces es algo normal, bug con bastantes añitos encima.

http://www.clubdelphi.com/foros/show...PI_GETWORKAREA

Casimiro Notevi 15-06-2010 23:02:09

Creo que si cuando está "maximizada" le das minimizar y luego a restaurar... se ajusta perfectamente :)
Al menos, eso es algo que he visto en algunos clientes.

jjoliveras 15-06-2010 23:26:30

La ventana es el formulario principal, es MDI y ademas esta maximized y aunque minimices y maximices se queda exactamente en el mismo sitio. :(

BrunoBsso 16-06-2010 03:50:22

Cita:

Empezado por Lepe (Mensaje 367350)
Pero si la ventana por casualidad es un MDI, entonces es algo normal, bug con bastantes añitos encima.

http://www.clubdelphi.com/foros/show...PI_GETWORKAREA

Lástima. Supongo que vas a tener que ingeniártelas con código para arreglarlo.

Casimiro Notevi 16-06-2010 11:18:46

Cita:

Empezado por Lepe (Mensaje 367350)
[..]

Si la ventana tiene form1.WindowState = wsMaximized, entonces es un problema de Delphi. Pero si la ventana por casualidad es un MDI, entonces es algo normal, bug con bastantes añitos encima.

http://www.clubdelphi.com/foros/show...PI_GETWORKAREA


Me ha hecho recordar el hilo en el que se trata el tema de usar delphi o lazarus.

jjoliveras 18-06-2010 11:29:36

Chicos, solucionado, muchas gracias. ;)

Os cuento, efectivamente si en tiempo de diseño, sobredimensionas la pantalla, al compilarlo e instalarlo en el cliente, la pantalla sale descolocada, pero solo en los equipos que tienen XP y pantalla normal (no widescreen), en los vistas, servers o windows 7, se quedan bien.

Corregi en tiempo de diseño el tamaño a 1024x768, compilo, se lo instalo y correcto.

Gracias por sus indicaciones.

Un saludo.

ContraVeneno 26-08-2010 18:59:32

Cita:

Empezado por jjoliveras (Mensaje 367638)
...
Corregi en tiempo de diseño el tamaño a 1024x768
..

¿qué fue lo que corregiste?
¿el diseño de la forma?, ¿la resolución de la pantalla?
¿?


---- edito

ya vi... intente cambiar la resolución de mi pantalla a 1042x768 pero igual seguía sin funcionar...

el problema no es la resolución. Si no mas bien el monitor. Si el monitor es "widescreen", se presenta el problema en monitores normales. Tendría que ser 4:3 en lugar de 16:9.
Es decir, compilar a 4:3 para que funcione en todos los monitores...
Si se compila a 16:9, se presenta el problema en monitores que son 4:3

ecfisa 26-08-2010 23:23:25

Hola.

Hace bastante, copié estas líneas para adaptar el form principal a distintas resoluciones.
( lamento no recordar de donde las saqué ).
Código Delphi [-]
procedure TForm.FormCreate(Sender: TObject);
const
  Alto= 768;       // 768, ...
  Ancho= 1024;  // 1366, ...
begin
  if Screen.PixelsPerInch = 96 then
  begin
   Height := Height * Screen.Height div Alto;
   Width := Width * Screen.width div Ancho;
   ScaleBy(Screen.Width,Ancho);
 end
 else if Screen.PixelsPerInch = 120 then
 begin
   Height := Height *Screen.Height div Alto;
   Height := Height+((Height*15) div 100);
   Width := Width * Screen.Width div Ancho;
   Width := Width+((Width*15) div 100);
   ScaleBy(Screen.Width,Ancho);
   Top := Top - 70;
   Left := Left - 70;
  end
  else
  begin
    Height := Height * Screen.Height div Alto;
    Width := Width * Screen.width div Ancho;
    ScaleBy(Screen.Width,Ancho);
  end;
end;

Espero puedan servirle a quien esté interesado en este hilo.

Saludos.

RedVenom 10-01-2014 20:11:38

Ecfisa en donde aplico ese código que colocaste??

ContraVeneno 10-01-2014 20:35:32

Supongo que en el evento "Create" de la forma.... digo, no supongo, ahí dice:

Código Delphi [-]
procedure TForm.FormCreate(Sender: TObject);


La franja horaria es GMT +2. Ahora son las 14:49:01.

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