Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-01-2017
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Diseño de pantalla

A ver quien me puede echar una mano, que yo me estoy volviedo loco. Tengo una aplicación hecha en BCB 6 con unas 50 ó 60 pantallas. El problema es que no las veo igual yo a como las ve el cliente. Os subo un par de ejemplos:
Pantalla 1ª
Esto es como lo veo yo.

Esto es como lo ve el cliente.

Pantalla 2ª
Esto es como lo veo yo.

Y esto como lo ve el cliente.

Si os fijáis en la primera pantalla los dos ListView que hay al pie de la misma no tienen las mismas dimensiones y en la segunda pantalla en lo que ve el cliente se amontonan los botones.
Al arrancar la aplicación fuerzo el tipo y tamaño de letra así:
Código:
AnsiString cAux, NombreUser, FontName, cMensaje, cPerFac, cRefInt, cReportTitle;
int ColorFondo, ColorPapel, ColorTinta, FontSize, LineaAct, nForFac, nIcono, nTipoEjecucion, nTipoEmision, nTotPag, PrinterDefault, ScrollWidth;

WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
[...]
     try
     {
          FontName = "Arial";
          FontSize = 10;

          ScrollWidth = 17;
          rRegistro->RootKey = HKEY_CURRENT_USER;
          if (rRegistro->OpenKeyReadOnly("Control Panel\\Desktop\\WindowMetrics"))
               ScrollWidth = MulDiv(-StrToFloat(rRegistro->ReadString("ScrollWidth")), Screen->PixelsPerInch, 1440);

          Application->Initialize();
          Application->Title = cVersion;
          PrinterDefault = Printer()->PrinterIndex;
          Application->CreateForm(__classid(TfPersona), &fPersona);
          Application->Run();
     }
     catch(Exception &exception)
     {
          Application->ShowException(&exception);
     }
     catch(...)
     {
          try
          {
               throw Exception("");
          }
          catch(Exception &exception)
          {
               Application->ShowException(&exception);
          }
     }
     return 0;
}
De forma que al iniciarse cualquiera de los módulos de la aplicación se ajustan todos los tipos de letra a esa definción:
Código:
extern void ColorForm(TForm *Form);
//---------------------------------------------------------------------------

__fastcall TfRefact::TfRefact(TComponent* Owner)
     : TForm(Owner)
{
     ColorForm(this);
}
//---------------------------------------------------------------------------
Y en esa función ColorForm:
Código:
void ColorForm(TForm *Form)
{
    TComponent *Source;

     Form->Icon        = Application->Icon;
     Form->Caption     = Application->Title;
     Form->Font->Name  = FontName;
     Form->Font->Size  = FontSize;
[...]
}
//---------------------------------------------------------------------------
¿Cómo puedo resolver ese problema?

Última edición por Casimiro Notevi fecha: 17-01-2017 a las 10:40:19. Razón: Protección de datos.
Responder Con Cita
  #2  
Antiguo 17-01-2017
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Poder: 19
olbeup Va camino a la fama
Hola Angel.Matilla,

Eso es posible que el tipo de letra que usas en el programa, el cliente no la tenga, también puede ser que el cliente tenga una configuración de tipo de letra mas grande.

Haz un prueba, sólo crea un formulario con algo dentro y comprueba si el tipo de letra que usas lo tiene el cliente.


p.d.: En lo sucesivo, evita poner datos reales de tus clientes y menos la dirección de donde reside o la cuenta corriente del banco, me parece muy fuerte.

p.d2.: Haber si algún Administrador puede ocultar esos datos.

Un saludo.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber.
Responder Con Cita
  #3  
Antiguo 17-01-2017
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Cita:
Empezado por olbeup Ver Mensaje
Hola Angel.Matilla,

Eso es posible que el tipo de letra que usas en el programa, el cliente no la tenga, también puede ser que el cliente tenga una configuración de tipo de letra mas grande.
¿Podría tener algo que ver con las definiciones de pantalla que tengan hechas en la máquina? Porque el tipo de letra Arial es uno de los que se instala por defecto con Windows.
Cita:
Empezado por olbeup Ver Mensaje
Haz un prueba, sólo crea un formulario con algo dentro y comprueba si el tipo de letra que usas lo tiene el cliente.
Haré la prueba que me sugieres. El problema principal que tengo es que el cleinte está a 150 Km. de donde estoy yo.

Cita:
Empezado por olbeup Ver Mensaje
p.d.: En lo sucesivo, evita poner datos reales de tus clientes y menos la dirección de donde reside o la cuenta corriente del banco, me parece muy fuerte.

p.d2.: Haber si algún Administrador puede ocultar esos datos.

Un saludo.
Tienes toda la razón en este punto. Y es un tema con el que siempre tengo mucho cuidado y procuro no poner datos personales reales; no sé que me pasó esta vez.
Responder Con Cita
  #4  
Antiguo 17-01-2017
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

¿No será una mala idea, generalmente, trastear con el tamaño de la fuente tal como lo haces? Quiero decir que tú tratas de "forzar" una determinada fuente, pero, otra posible configuración en el cliente puede hacer que lo que vale en tu sistema no sirva en otro. Yo eliminaría el código que "fuerza" el uso de la fuente completamente. Si lo que quieres es que la letra sea un poco más grande, incrementa su tamaño en el mismo formulario: o bien deja todo "por defecto" y que el cliente decida, a nivel de sistema, si necesita una letra más grande.

P.D. Es mi opinión, ¿eh? Por si sirve de algo...
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 17-01-2017
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Cita:
Empezado por dec Ver Mensaje
Hola,

¿No será una mala idea, generalmente, trastear con el tamaño de la fuente tal como lo haces? Quiero decir que tú tratas de "forzar" una determinada fuente, pero, otra posible configuración en el cliente puede hacer que lo que vale en tu sistema no sirva en otro. Yo eliminaría el código que "fuerza" el uso de la fuente completamente. Si lo que quieres es que la letra sea un poco más grande, incrementa su tamaño en el mismo formulario: o bien deja todo "por defecto" y que el cliente decida, a nivel de sistema, si necesita una letra más grande.

P.D. Es mi opinión, ¿eh? Por si sirve de algo...
Se agradece cualquier opinión. Uno de los problemas es que el formulario se puede agrandar ya poco si no quiero que sea algo desmesurado. Por otra parte el tipo de letra está puesto así a petición del cliente. La sugerencia de que sea el usuario, a nivel de sistema, el que decida (como haríamos cualquiera de nosotros) es peligrosa; como casi siempre el usuario no es un experto en ordenadores. Digamos que usa más bien una máquina de escribir sofisticada.
Responder Con Cita
  #6  
Antiguo 17-01-2017
Avatar de ElKurgan
[ElKurgan] ElKurgan is offline
Miembro Premium
 
Registrado: nov 2005
Posts: 1.232
Poder: 20
ElKurgan Va camino a la fama
¿Qué versión de Windows tiene el cliente?

En mi trabajo ha pasado que en ordenadores donde hay gente mayor y pone tamaños más grandes de letra, pasa algo parecido.

Sobre todo donde hay Windows 7 o superior; En la opción de pantalla de "Facilitar lectura de elementos de pantalla" (es decir, tamaño de fuente, lupa, etc), si no escoge la opción Pequeño (predeterminado), los botones y otros controles desaparecen de la pantalla, o quedan tapados por paneles más grandes, o directamente se ve la fuente gigantesca.

No sé si irán los tiros por ahí

Un saludo
Responder Con Cita
  #7  
Antiguo 17-01-2017
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Cita:
Empezado por ElKurgan Ver Mensaje
¿Qué versión de Windows tiene el cliente?

En mi trabajo ha pasado que en ordenadores donde hay gente mayor y pone tamaños más grandes de letra, pasa algo parecido.

Sobre todo donde hay Windows 7 o superior; En la opción de pantalla de "Facilitar lectura de elementos de pantalla" (es decir, tamaño de fuente, lupa, etc), si no escoge la opción Pequeño (predeterminado), los botones y otros controles desaparecen de la pantalla, o quedan tapados por paneles más grandes, o directamente se ve la fuente gigantesca.

No sé si irán los tiros por ahí

Un saludo
Windows 10, y sí: puede que la razón sea la que apuntas, pero recuerda que obligo al formulario a una fuente y tamaño concretos. No me gusta, pero creo que es la mejhor solución.
Responder Con Cita
  #8  
Antiguo 17-01-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Angel.Matilla Ver Mensaje
... obligo al formulario a una fuente y tamaño concretos. No me gusta, pero creo que es la mejhor solución.
Una de las principales normas "autoimpuestas" por los programadores es: "Nunca cambiar las preferencias del usuario en cuanto a gustos de letras, tamaños, colores, fondo de pantalla, etc."
Responder Con Cita
  #9  
Antiguo 17-01-2017
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Una de las principales normas "autoimpuestas" por los programadores es: "Nunca cambiar las preferencias del usuario en cuanto a gustos de letras, tamaños, colores, fondo de pantalla, etc."
Lo sé y lo cumplo siempre salvo en este caso por petición expresa del cliente.
Responder Con Cita
  #10  
Antiguo 17-01-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pero no vas a modificar un programa para un cliente determinado. Y si el cliente quiere letras más grandes, que las ponga él en su windows, ¿no?
Responder Con Cita
  #11  
Antiguo 17-01-2017
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Pero no vas a modificar un programa para un cliente determinado. Y si el cliente quiere letras más grandes, que las ponga él en su windows, ¿no?
Estamos de acuerdo. Dicho todo esto sobre los gustos del cliente y sus exigencias, ¿alguien me puede explicar por qué con idénticas definiciones de entorno (comprobadas) se ven muestran distintos resultados en las pantallas? Porque sigo sin entender que con las mismas definiciones de tipo y tamaño de fuente no se vea los mismo.
Responder Con Cita
  #12  
Antiguo 18-01-2017
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
No es debido a que cambiaron el DPI?

https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx
http://www.techrepublic.com/blog/win...g-dpi-scaling/
__________________
El malabarista.
Responder Con Cita
  #13  
Antiguo 18-01-2017
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Iba a comentar lo mismo... y de hecho, si no recuerdo mal, en la vesion XE8 la Vcl se volvio "dpi-aware" pero Embarcadero ha tenido bastantes problemas con respecto a DPI

Una busqueda rapida lo muestra: link
Responder Con Cita
  #14  
Antiguo 18-01-2017
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Cita:
Empezado por mamcx Ver Mensaje
No es debido a que cambiaron el DPI?
Gracias a los dos por vuestras respuestas. Como intuía que parte del problema podía venir por ese lado hice que el programa al arrancar me mostrara la condiguración de la pantyalla (Screen->PixelsPerInch); tanto en mi máquina como en la del cliente es la misma: 96.

Leyendo los enlaces que me habéis pasado una de las posibilidades tiene que ver con la definición de la propia pantalla, que eso si que no se me ha ocurrido comprobar; yo tengo definido 1366x768 pero no se me ha ocurrido mirar la del cliente. No obstante, si este fuera el problema se deformarían todos los elementos del formulario y no sólo los TListView que había en la parte baja.

Esta primera pantalla es como lo veo yo en mi máquina


Y esta otra como lo ve el cliente


Y lo que me tiene despistado que sean sólo los ListView los que modifican de forma apreciable su aspecto. Es evidente que algo hay en las propiedades de la pantalla porque aun siendo el mismo tipo de letra Arial 10 (reitero que por exigencia del cliente), se ve claramente que los tamaños son diferentes pero eso o afecta a todo el formulario o nada pero no solamente a una parte del mismo.
Responder Con Cita
  #15  
Antiguo 18-01-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Seguro que el cliente no tiene seleccionada "fuentes grandes"?
Responder Con Cita
  #16  
Antiguo 18-01-2017
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Buena pregunta. Lo comprobaré.
Responder Con Cita
  #17  
Antiguo 18-01-2017
WHILENOTEOF WHILENOTEOF is offline
Miembro
 
Registrado: mar 2008
Posts: 229
Poder: 17
WHILENOTEOF Va camino a la fama
Yo tuve una vez un problema parecido con un cliente, y si que era porque tenía marcado visualizar con 125 % en el panel de control (no recuerdo desde donde se cambiaba). Estuve probando varias cosas, entre ellas esto en la inicialización de la aplicación. Ten en cuenta que no estoy seguro que esto lo solucionara, porque si bien no volví a recibir quejas no confirmé si funcionaba o no.

Código:
 if (Win32MajorVersion >= 6) then
  begin
    SetProcessDPIAware;
  end;
  Application.Initialize;

   ....

  Application.Run;
Responder Con Cita
  #18  
Antiguo 21-01-2017
Avatar de kurono
[kurono] kurono is offline
Miembro Premium
 
Registrado: jul 2007
Ubicación: Republica Dominicana
Posts: 1.126
Poder: 18
kurono Va por buen camino
y no sera la resolucion de la pantalla
Responder Con Cita
  #19  
Antiguo 28-01-2017
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Cita:
Empezado por WHILENOTEOF Ver Mensaje
Yo tuve una vez un problema parecido con un cliente, y si que era porque tenía marcado visualizar con 125 % en el panel de control (no recuerdo desde donde se cambiaba). Estuve probando varias cosas, entre ellas esto en la inicialización de la aplicación. Ten en cuenta que no estoy seguro que esto lo solucionara, porque si bien no volví a recibir quejas no confirmé si funcionaba o no.
Efectivamente este es el probelma: tiene activadas las fuentes grandes. Muchas gracias.
Responder Con Cita
  #20  
Antiguo 28-01-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Angel.Matilla Ver Mensaje
Efectivamente este es el probelma: tiene activadas las fuentes grandes. Muchas gracias.
Es lo primero que se te dijo, quizás no lo entendiste.
Cita:
Empezado por olbeup Ver Mensaje
Eso es posible que el tipo de letra que usas en el programa, el cliente no la tenga, también puede ser que el cliente tenga una configuración de tipo de letra mas grande.
Y por eso volví a insistir más tarde:
Cita:
Empezado por Casimiro Notevi Ver Mensaje
¿Seguro que el cliente no tiene seleccionada "fuentes grandes"?
Estas cosas pasan
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Diseño de Forms KingOfDragons Varios 4 10-05-2011 11:26:27
Capturar Pantalla = Pantalla negra DarkDudae Gráficos 8 27-10-2008 13:29:36
en diseño web miamuxi Conexión con bases de datos 6 19-01-2007 21:13:50
Diseño DB Biblioteca cancerbero Tablas planas 2 14-08-2004 13:51:54
Diseño pepelu1975 Varios 1 31-05-2004 10:55:36


La franja horaria es GMT +2. Ahora son las 18:24:02.


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
Copyright 1996-2007 Club Delphi