Ir al contenido


Foto

Problema con resolucion en 1024x768


  • Por favor identifícate para responder
22 respuestas en este tema

#1 look

look

    Advanced Member

  • Miembros
  • PipPipPip
  • 418 mensajes
  • LocationLa Ceiba-Atlantida-Honduras

Escrito 02 noviembre 2010 - 09:42

hola, tengo el siguiente problema; desarrolle una aplicacion para una resolucion de 1024x768 como minimo para que los controles de los formularios se vean bien, el problema que tengo es que, instale en varios ordenadores la aplicacion , todos con la misma resolucion, pero en algunos se distorciona un poco el form, es decir aunque tenga la resolucion de 1024x768 en el ordenador, esta siempre me activa los scroll bars en el form porque pareciera que la resolucion es mas pequeña que la que necesita el sistema, lo extraño es que en otros ordenadores no hay problema, yo desarrolle la aplicacion con esa resolucion, esto es mas un tema de windows, no es problema de las fuentes del sistema porque ya chequee eso y no hay problema, vagamente recuerdo que en cierta ocacion me paso algo identico y lo solucione perooo, ya se me olvido  :p, en fin, espero sus comentarios
saludos....
  • 0

#2 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 02 noviembre 2010 - 09:48

A ver, también puede depender del tipo de monitor, porque si son de los "Widescreen" el resultado no es el mismo.

Saludos.
  • 0

#3 look

look

    Advanced Member

  • Miembros
  • PipPipPip
  • 418 mensajes
  • LocationLa Ceiba-Atlantida-Honduras

Escrito 02 noviembre 2010 - 09:54

A ver, también puede depender del tipo de monitor, porque si son de los "Widescreen" el resultado no es el mismo.

Saludos.

hola , incluso algunos tienes el mismo tipo de monitor, son unos dell lcd, si soportan esas resoluciones :s


  • 0

#4 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 02 noviembre 2010 - 09:58

¿Es MDI?, si mal no recuerdo ese problema lo veía al usar la propiedad Maximize y el BorderStile al mismo tiempo.


Saludos!
  • 0

#5 jorgeu

jorgeu

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 179 mensajes
  • LocationMaracaibo

Escrito 02 noviembre 2010 - 09:58

Los monitores LCD vienen para una resolución nativa
Yo soy muy riguroso con los monitores y noto rápidamente si un monitor LCD no está en su resolución nativa. Las fuentes se corren y todo se ve extraño.

Yo (creo) que son los monitores LCD esos que no están en su resolución nativa. Recomiendo primero verificar si sólo tu aplicación está teniendo problemas.
  • 0

#6 jdepaz

jdepaz

    Advanced Member

  • Miembros
  • PipPipPip
  • 264 mensajes
  • LocationMedellín Colombia

Escrito 02 noviembre 2010 - 10:13

En algunas tarjetas gráficas, existe una Graphics Option, en la cual está "Panel Fit", en la cual se puede seleccionar que este a "Full Screen (no border)", y otras, podría ser allí para encontrar la solución.



  • 0

#7 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 02 noviembre 2010 - 11:21

Intenta ejecutar este simple código usando la API donde te mostrará la resolución real de la pantalla:



delphi
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. var x,y: Integer;
  3. begin
  4.   x := GetSystemMetrics(SM_CXSCREEN);
  5.   y := GetSystemMetrics(SM_CYSCREEN);
  6.  
  7.   ShowMessage('Resolución: '+IntToStr(x)+'x'+IntToStr(y));
  8. end;



Nos comentas el resultado.

Saludos.
  • 0

#8 look

look

    Advanced Member

  • Miembros
  • PipPipPip
  • 418 mensajes
  • LocationLa Ceiba-Atlantida-Honduras

Escrito 02 noviembre 2010 - 12:18

hola, no es un form mdi, creo que tiene que ver con el diver de la tarjeta de video, es integrada con la placa madre
  • 0

#9 look

look

    Advanced Member

  • Miembros
  • PipPipPip
  • 418 mensajes
  • LocationLa Ceiba-Atlantida-Honduras

Escrito 02 noviembre 2010 - 12:19

la aplicacion no tiene problemas, yo hice un instalador de mi aplicacion, el cual contiene las dlls y las fuentes necesarias para su correcto funcionamiento
  • 0

#10 look

look

    Advanced Member

  • Miembros
  • PipPipPip
  • 418 mensajes
  • LocationLa Ceiba-Atlantida-Honduras

Escrito 02 noviembre 2010 - 12:19

Los monitores LCD vienen para una resolución nativa
Yo soy muy riguroso con los monitores y noto rápidamente si un monitor LCD no está en su resolución nativa. Las fuentes se corren y todo se ve extraño.

Yo (creo) que son los monitores LCD esos que no están en su resolución nativa. Recomiendo primero verificar si sólo tu aplicación está teniendo problemas.

como puedo detectar esto?
  • 0

#11 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 02 noviembre 2010 - 12:23

como puedo detectar esto?


Post #6 :p
  • 0

#12 look

look

    Advanced Member

  • Miembros
  • PipPipPip
  • 418 mensajes
  • LocationLa Ceiba-Atlantida-Honduras

Escrito 02 noviembre 2010 - 12:27


como puedo detectar esto?


Post #6 :p

creo que el problema es de lo que tu comentas, como podria solucionarño? , me refiero a que comentas que algunos monitores trabajan con la resolucion nativa, como puedo cambiar esto?,,,
saludos :)
  • 0

#13 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 02 noviembre 2010 - 01:02

Ok, ya te ayudo con eso, primero confirmame si en esas máquinas utilizan Windows Vista o 7.
  • 0

#14 look

look

    Advanced Member

  • Miembros
  • PipPipPip
  • 418 mensajes
  • LocationLa Ceiba-Atlantida-Honduras

Escrito 02 noviembre 2010 - 01:07

Ok, ya te ayudo con eso, primero confirmame si en esas máquinas utilizan Windows Vista o 7.

todas tienen winxp pro
  • 0

#15 andres1569

andres1569

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 431 mensajes

Escrito 02 noviembre 2010 - 01:42

Hola Look, supongo que es lo mismo que me sucedió a mí hace unos pocos meses, habrás notado cómo los controles crecen de tamaño, también las letras, pero el formulario tiene la misma medida, y todo se desplaza de lugar a derecha y abajo ¿cierto?

El problema de esto reside en los Pixels Por Pulgada (ppp) que tenga activada la pantalla, algo independiente de la resolución, y que variará según cada usuario, este es un parámetro del sistema que se activa con mayor facilidad con Windows Vista y Windows 7, supongo que también con XP toqueteando un poco se puede alterar, aunque no lo he investigado. Las aplicaciones hechas en Delphi toman dicho valor para escalarse, de ahí ese efecto tan desagradable que has observado. Como remedio rápido, si entras a diseñar tu aplicación y pones a FALSE la propiedad Scaled de cada formulario, luego compilas y pruebas a ver si persiste el error en esas máquinas donde se produce.

Estoy preparando un artículo, algo extenso, sobre dicho problema, para colgarlo en la sección de trucos uno de estos día, ofreciendo las posibles alternativas y soluciones que he ido adoptando para mis desarrollos.

Saludos
  • 0

#16 look

look

    Advanced Member

  • Miembros
  • PipPipPip
  • 418 mensajes
  • LocationLa Ceiba-Atlantida-Honduras

Escrito 02 noviembre 2010 - 01:48

Hola Look, supongo que es lo mismo que me sucedió a mí hace unos pocos meses, habrás notado cómo los controles crecen de tamaño, también las letras, pero el formulario tiene la misma medida, y todo se desplaza de lugar a derecha y abajo ¿cierto?

El problema de esto reside en los Pixels Por Pulgada (ppp) que tenga activada la pantalla, algo independiente de la resolución, y que variará según cada usuario, este es un parámetro del sistema que se activa con mayor facilidad con Windows Vista y Windows 7, supongo que también con XP toqueteando un poco se puede alterar, aunque no lo he investigado. Las aplicaciones hechas en Delphi toman dicho valor para escalarse, de ahí ese efecto tan desagradable que has observado. Como remedio rápido, si entras a diseñar tu aplicación y pones a FALSE la propiedad Scaled de cada formulario, luego compilas y pruebas a ver si persiste el error en esas máquinas donde se produce.

Estoy preparando un artículo, algo extenso, sobre dicho problema (que Delphi 2010 resuelve de una manera elegante), para colgarlo en la sección de trucos uno de estos día, ofreciendo las posibles alternativas y soluciones que he ido adoptando para mis desarrollos.

Saludos

ahora que lo mencionas sobre los ppp estube viendo las propiedades de pantalla tiene algo llamad DPI que es algo  como lo que me comentas, lo que paso fue que estube toqueteando esas configuraciones péro me pedia el disco del OS, nunca probe eso, lamentablemente el dia de hoy no prodre vericar eso ya que hasta el dia de mañana ire donde el cliente., como sea tengo que solucionar el problema, voy hacer algunas pruebas en mi ordenador y verifiar lo que me dices de los forms para ver que efecto tiene... gracias...
saludos!
  • 0

#17 andres1569

andres1569

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 431 mensajes

Escrito 02 noviembre 2010 - 01:51

Bueno, DPI es en inglés (Dots Per Inch), y PPP es en español (Puntos Por Pulgada), significan lo mismo. Miraré en un sistema XP a ver dónde demonios se altera dicho parámetro.
  • 0

#18 look

look

    Advanced Member

  • Miembros
  • PipPipPip
  • 418 mensajes
  • LocationLa Ceiba-Atlantida-Honduras

Escrito 02 noviembre 2010 - 01:54

Bueno, DPI es en inglés (Dots Per Inch), y PPP es en español (Puntos Por Pulgada), significan lo mismo. Miraré en un sistema XP a ver dónde demonios se altera dicho parámetro.

ok, gracias compañero.
  • 0

#19 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 02 noviembre 2010 - 02:59

Para Obtener el DPI de Windows se usa el API GetDeviceCaps usando el Método LOGPIXELSX, quedaría algo así:



delphi
  1. function ObtenerDPI(DC: hDC; var iDPI: Integer): integer;
  2. begin
  3.   if DC <> -1 then begin
  4.     iDPI := GetDeviceCaps(DC, LOGPIXELSX);
  5.     ReleaseDC(0,DC);
  6.     Result := iDPI;
  7.   end else begin
  8.     iDPI := -1;
  9.     Result := iDPI;
  10.   end;
  11. end;
  12.  
  13. procedure TForm1.Button1Click(Sender: TObject);
  14. var iDPI: Integer;
  15. begin
  16.   ObtenerDPI(handle, iDPI);
  17.   ShowMessage(IntToStr(iDPI));
  18. end;



Nota: Hice esto al vuelo, así que puede contener errores.

Saludos.
  • 0

#20 cHackAll

cHackAll

    Advanced Member

  • Administrador
  • 599 mensajes

Escrito 02 noviembre 2010 - 03:26

DPI ?
  • 0




IP.Board spam blocked by CleanTalk.