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 Temas de Hoy

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 09: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.234
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
Respuesta



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 10:26:27
Capturar Pantalla = Pantalla negra DarkDudae Gráficos 8 27-10-2008 12:29:36
en diseño web miamuxi Conexión con bases de datos 6 19-01-2007 20:13:50
Diseño DB Biblioteca cancerbero Tablas planas 2 14-08-2004 12:51:54
Diseño pepelu1975 Varios 1 31-05-2004 09:55:36


La franja horaria es GMT +2. Ahora son las 17:22:46.


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