Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-11-2008
Bauhaus1975 Bauhaus1975 is offline
Miembro
 
Registrado: may 2005
Ubicación: Málaga
Posts: 135
Poder: 20
Bauhaus1975 Va por buen camino
Problemas en Pc con diferente resolución

Hola de nuevo,
(Trabajo con Delphi Studio 2006 para Win32)
Parece que trabajando en un proyecto en ordenadores con resolución, el primero de 1280 y otro con 1024 al abrir el proyecto los formularios y fuentes aparecen reducidos en algunos casos (creo que los que trabajé en el PC a mayor resolución)

¿Hay alguna manera de hacer que todo quede a dimensiones y tamaños de fuentes estables, independientemente con el ordenador con el que abra el proyecto?
Gracias y un saludo.
Responder Con Cita
  #2  
Antiguo 05-11-2008
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
Wink

Cita:
Empezado por Bauhaus1975 Ver Mensaje
Hola de nuevo,
(Trabajo con Delphi Studio 2006 para Win32)
Parece que trabajando en un proyecto en ordenadores con resolución, el primero de 1280 y otro con 1024 al abrir el proyecto los formularios y fuentes aparecen reducidos en algunos casos (creo que los que trabajé en el PC a mayor resolución)

¿Hay alguna manera de hacer que todo quede a dimensiones y tamaños de fuentes estables, independientemente con el ordenador con el que abra el proyecto?
Gracias y un saludo.
Hola, bueno, existen varias formas de hacer lo que necesitas...

lo que yo utilizo es usar una función que me cambie la resolucion de la pantalla...

te dejo la función...

Código Delphi [-]
// Funcion que permite cambiar la resolución de la Pantalla
Function SetScreenResolution(Ancho, Altura: integer): Longint;
var
 DeviceMode: TDeviceMode;
begin
 with DeviceMode do begin
   dmSize := SizeOf(TDeviceMode);
   dmPelsWidth := Ancho;
   dmPelsHeight := Altura;
   dmFields := DM_PELSWIDTH or DM_PELSHEIGHT;
 end;
 Result := ChangeDisplaySettings(DeviceMode, CDS_UPDATEREGISTRY);
end;

y para llamarla solo debes poner esto

Código Delphi [-]
 SetScreenResolution(1024, 768);

creo que esto lo debieras complementar con una función que te entrege la resolución del sistema (no tengo ninguna a mano)..... cosa que cuando ingreses al sistema preguntes si la resolución es igual a la que necesita tu sistema, si la cumple no haces nada, pero si no la cumple guardas la resolución en una variable, cambias la resolucción a la deseada y cuando salgas del sistema restableces la resolución del sistema a la que tenia ...

Salu2
__________________
BlueSteel
Responder Con Cita
  #3  
Antiguo 05-11-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Otra forma es diseñar tus ventanas basadas en la resolución mínima que deseas, (hoy día 1024x768 según mi parecer). A partir de ahí usas los Constraints y Anchors de los controles para hacer que la ventana se adapte dinámicamente a la resolución.

La resolución, puedes pillarla de la variable Screen.width y Screen.Height, también tienes otras propiedades del objeto Screen que indica el area de trabajo (workarea) que te ofrece el alto sin barras de herramientas ni barra de tareas.

Cambiar la resolución tiene sus detalles, debes tenerlo en cuenta:
- Al usuario no le gusta los textos tan pequeños (porque su monitor es un 14 pulgadas).
- El monitor no soporta dicha resolución. Hoy existen muchos tipos de monitores, CRT, TFT, TFT pantalla ancha, super ancha, etc.

saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #4  
Antiguo 06-11-2008
Bauhaus1975 Bauhaus1975 is offline
Miembro
 
Registrado: may 2005
Ubicación: Málaga
Posts: 135
Poder: 20
Bauhaus1975 Va por buen camino
Hola, gracias por vuestra ayuda.
no sé realmente si vuestra respuesta es para lo que me pasa.
Ocurre que en vista de diseño los formularios se reducen de tamaño (al abrir el proyecto en otro pc), y parece que con las fuentes ocurre igual.

¿Hay alguna manera de hacer que se mantega el tamaño de los formularios independientemente de la resolucion del PC en el que se vaya a abrir el proyecto?
Responder Con Cita
  #5  
Antiguo 06-11-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Parece que ambos te entendimos mal.

Si quieres que se vean igual, pon la misma resolución, no hay más salida (bueno si, compra un monitor más grande para la resolución más alta ).

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #6  
Antiguo 13-12-2008
Bauhaus1975 Bauhaus1975 is offline
Miembro
 
Registrado: may 2005
Ubicación: Málaga
Posts: 135
Poder: 20
Bauhaus1975 Va por buen camino
Hola de nuevo.
Perdonad, pero creo que no me he explicado bien. Vuelvo a intentarlo con un ejemplo real:

-1º Trabajo en un PC1 a 1024x780. Los formularios miden 'width'=690píxeles, y la propiedad 'PixelesPerInch'=96.

-2º El mismo proyecto lo abro en un PC2 a 1280x1024. Ahora los formularios aparecen con 'width'=900píxeles, y la propiedad 'PixelesPerInch'=120. Además aunque los tamaño de las fuentes estén igual (Tahoma, Normal, 8), el aspecto también es diferente.

¿Sabéis algo para que estos valores estén fijos, independientemente del ordenador donde se esté programando?
Gracias.
Responder Con Cita
  #7  
Antiguo 14-12-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
ainsssss


1024x780 no es la resolución estandard, la estandard es 1024x768, ahora no sé si se trata de un error de tecleo o es que tu monitor no tiene una relación de aspecto 4:3. De todas formas me inclino por que sea un error mecanográfico.

Si divides 1024/768 = 1,3333
Si divides 1280/1024 = 1.25

Puesto que no te da la misma relación de aspecto, verás de distintas forma la ventana que diseñas y en general toda ventana de windows.

Suponiendo que ambos monitores son cuadrados (nada de pantalla ancha, pantalla plana ultra ancha ni cosas de esas...) tendrías que usar una resolución de 1280x960 pixels en el segundo ordenador para ver todo correcto (ya que dividiendo 1280/960 = 1,33 el mismo factor que el primer monitor).

Si tu segundo ordenador es una pantalla ancha, ultra ancha, etc, debes usar una resolución que tenga su misma relación de aspecto (busca en google por el modelo del monitor, encontrarás que es formato 16:10, es decir 1,66 pues ahora busca una resolución de pantalla que dividiendo sus números te den ese 1.66). Así lograrás ver todo igual en ambos ordenadores, incluso en el primer ordenador puedes usar 1024x768 (relación 4:3)y en el segundo 1920x1200 (relación 16:10), pero como ambas resoluciones son adecuadas para cada monitor, no se desvirtúa ninguna ventana.

El meollo de la cuestión, es que se han popularizado las pantallas LCD y cada fabricante las hace con la relación de aspecto que le salió del.... bolsillo, así que no hay un estandard para todos los monitores, tienes que buscar la resolución para cada uno de ellos.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 14-12-2008 a las 11:05:41.
Responder Con Cita
  #8  
Antiguo 14-12-2008
Bauhaus1975 Bauhaus1975 is offline
Miembro
 
Registrado: may 2005
Ubicación: Málaga
Posts: 135
Poder: 20
Bauhaus1975 Va por buen camino
Cita:
Empezado por Lepe Ver Mensaje
ainsssss

1024x780 no es la resolución estandard, la estandard es 1024x768, ahora no sé si se trata de un error de tecleo o es que tu monitor no tiene una relación de aspecto 4:3. De todas formas me inclino por que sea un error mecanográfico.
Estás en lo cierto, ha sido un error mecanográfico. Es 1024x768. Y los monitores, ambos son 'cuadrados', es decir normales. No son panorámicos.
Eligí mal la resolución del PC2. Voy a cambiarla y veré si se mantienen los tamaños trabajando en ambos.
Muchas gracias por la apreciación y un saludo.
Responder Con Cita
  #9  
Antiguo 15-12-2008
Avatar de MAXIUM
MAXIUM MAXIUM is offline
Miembro
 
Registrado: may 2005
Posts: 1.488
Poder: 20
MAXIUM Va camino a la fama
Duro dolor de cabeza, pero esta es mi solución, funciona has en widescreen (99%..)

Código Delphi [-]
  // Redimensiona la aplicación en base a la resolución de la pantalla.
     ScaleBy(Screen.WorkAreaHeight*Width Div Height, Width);
     Height:= Screen.WorkAreaHeight;
     Left:= (Screen.Width - Width) Div 2;
     BorderIcons:= BorderIcons - [biMaximize];

Colocar en Form.Create.

Ojo, es para cuando quieres que tu aplicación ocupe toda la pantalla. La propiedad BorderStyle = bsSingle y debe estar en modo normal, no maximizado.
Responder Con Cita
  #10  
Antiguo 15-12-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Gracias MAXIUM, pero has caído igual que yo, este hilo, debería ir en el foro Windows en lugar de varios.

No es tema de programación , pero se agradece tu aporte, seguro que lo aplico.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #11  
Antiguo 22-12-2008
Bauhaus1975 Bauhaus1975 is offline
Miembro
 
Registrado: may 2005
Ubicación: Málaga
Posts: 135
Poder: 20
Bauhaus1975 Va por buen camino
Hola de nuevo.
Al final lo que he hecho ha sido fijar el ancho y alto para los formularios, y poner la propiedad 'scaled = false'. Ahora parece que se mantiene el tamaño (y aspecto) independientemente de dónde haya abierto el proyecto anteriormente.
Un saludo.
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
Resolucion diferente en IDE y App Ezecool Varios 3 26-04-2008 15:13:07
problemas con diferente versiones report builder buzon Impresión 0 02-05-2007 18:28:23
Un Form diferente... Gabriel2 OOP 1 01-06-2005 17:40:29
problemas de resolución jmlifi Varios 1 27-05-2005 19:34:00
ListBox diferente... Elfoscuro Varios 4 26-03-2005 09:38:14


La franja horaria es GMT +2. Ahora son las 22:26:35.


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