Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-09-2008
pablopessoa pablopessoa is offline
Miembro
 
Registrado: may 2008
Ubicación: Argentina
Posts: 162
Poder: 17
pablopessoa Va por buen camino
reconocer resolucion de pantalla

hola!! hay alguna manera de reconocer con delphi que resolucion de pantalla tiene la persona que corre mi aplicacion? si se puede reconocer... hay alguna forma de que delphi reacomode todo automaticamente a esa resolucion? o lo tengo que hacer a mano? como lo ajusto a mano?
gracias y espero en algun momento poder responder algo yo... soy nuevo en este lenguaje
Responder Con Cita
  #2  
Antiguo 19-09-2008
Avatar de xEsk
[xEsk] xEsk is offline
Miembro Premium
 
Registrado: feb 2006
Posts: 454
Poder: 19
xEsk Va por buen camino
Hola, si es posible: Screen.Width y Screen.Height

Saudos.
Responder Con Cita
  #3  
Antiguo 19-09-2008
Avatar de DarkMan
DarkMan DarkMan is offline
Miembro
 
Registrado: jul 2006
Posts: 102
Poder: 18
DarkMan Va por buen camino
Normalmente los componentes tienen la propiedad align que permite ajustarse al tamaño de la forma, incluso con los cambios de tamaño. Seguramente cuando dices
Cita:
hay alguna forma de que delphi reacomode todo automaticamente a esa resolucion? o lo tengo que hacer a mano? como lo ajusto a mano?
supongo que te refieres a algunos componentes como TButton o TEdit que carecen de esa propiedad. En los TEdit puedes usar "Anchors" para que se autoreajuste al tamaño cuando se realizan cambios. En los TButton tendrás que usar el evento OnResize y ajustar su tamaño/posición a mano.
__________________
"La recompensa de una buena acción está en haberla hecho"
Responder Con Cita
  #4  
Antiguo 19-09-2008
pablopessoa pablopessoa is offline
Miembro
 
Registrado: may 2008
Ubicación: Argentina
Posts: 162
Poder: 17
pablopessoa Va por buen camino
lo voy a probar, muchas gracias!!
Responder Con Cita
  #5  
Antiguo 19-09-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.108
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Empezado por DarkMan
En los TEdit puedes usar "Anchors" para que se autoreajuste al tamaño cuando se realizan cambios. En los TButton tendrás que usar el evento OnResize y ajustar su tamaño/posición a mano.
De hecho "Anchors" se implementa ya en "TControl", y, cualquier componente derivado de este podría publicar dicha propiedad: los "TButtons" también lo hacen, pero, igual puede decirse en general que lo hacen todos los componentes visuales.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #6  
Antiguo 19-09-2008
pablopessoa pablopessoa is offline
Miembro
 
Registrado: may 2008
Ubicación: Argentina
Posts: 162
Poder: 17
pablopessoa Va por buen camino
hola, gracias por responderme tan rapido
estoy probando las cosas que me dijero pero no me funciona bien o yo lo estoy haciendo mal
el tamaño de mi boton por ejemplo es width =158 entonces calcule que lo tengo que reducir un 70 % (lo multiuplico por 0.7) pero me lo reduce muchisimo, me deja un cuadradito nada mas.
te muestro el codigo con el que lo hago

Código Delphi [-]
procedure TForm1.FormActivate(Sender: TObject);
var
x,y,I:integer;
begin
      x:=screen.Width;
      y:=screen.Height;
      if ((x<1024)and (y<768)) then
      begin
          form1.Width:= round (form1.Width *0.8);
          form1.Height:= round (form1.Height *0.8);

          for I := 0 to form1.ComponentCount - 1 do
          begin
              if (form1.Components[i] is TButton) then
                begin
                   tbutton(form1.Components[i]).Width:= Round (tbutton(form1.Components[i]).Width* 0.9);
                   tbutton(form1.Components[i]).Width:= Round (tbutton(form1.Components[i]).Height* 0.9);
                end;

(perdon por el post largo)
Responder Con Cita
  #7  
Antiguo 19-09-2008
pablopessoa pablopessoa is offline
Miembro
 
Registrado: may 2008
Ubicación: Argentina
Posts: 162
Poder: 17
pablopessoa Va por buen camino
perdon olvide decir que esta en 1155 x 864 y lo quiero pasar a 800x600
Responder Con Cita
  #8  
Antiguo 19-09-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.108
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Como norma general, no debes necesitar sino usar las propiedades "Align" y "Anchors" de los componentes. Sobre todo esta última te permite especificar cómo ha de situarse y adaptarse un determinado control en el formulario: independientemente del tamaño de dicho formulario, al menos hasta cierto punto: si un formulario es demasiado pequeño es evidente que no cabrán los controles, los pongas como los pongas. Pero, ya digo, en general, con las propiedades referidas sería suficiente para adaptar tus formularios y sus controles a distintos tamaños del formulario. Estúdialas y verás que no necesitas hacer cálculos más o menos peregrinos para conseguir lo que quieres. O mucho me equivoco.

Edito: Te adjunto un sencillo ejemplo a ver si se aproxima a lo que necesitas. Fíjate que no se usa código para posicionar los componentes, sino sólo sus propiedades "Anchors".
Archivos Adjuntos
Tipo de Archivo: zip Anchors.zip (1,2 KB, 30 visitas)
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 19-09-2008 a las 15:45:43.
Responder Con Cita
  #9  
Antiguo 19-09-2008
pablopessoa pablopessoa is offline
Miembro
 
Registrado: may 2008
Ubicación: Argentina
Posts: 162
Poder: 17
pablopessoa Va por buen camino
disculpa que este tan molesto... pero no la pego con esas propiedades... no logro que me queden bien...
probe este codigo que busque en internet en el oncreate del form

Height := Height * Screen.Height div alto;
Width := Width * Screen.Width div ancho;
ScaleBy(Screen.Width, ancho);

y si bien acomoda el formulario y el tamaño de las componentes y las letras... no acomoda la posicion de los componentes...

la verdad es un tema que esta volviendo loco...
Responder Con Cita
  #10  
Antiguo 19-09-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.108
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Pues te conviene hacer pruebas con esas propiedades, antes, digo, de buscarle tres pies al gato. Si no te apañan al final, igual entonces es menester otro tipo de solución. ¿Viste el ejemplo que adjunté en mi anterior mensaje? Los componentes y su tamaño se adaptan a la pantalla... ¿no? Por otro lado, considero más sencillo desarrollar "a lo pequeño" y no "a lo grande". Porque lo pequeño cabe en lo grande, pero, lo grande acaso no quepa en lo pequeño, o no como tú esperarías. No sé. Si tratas de concretar algo más igual puede ayudársete un poco mejor. Para empezar, ¿podrías adjuntar algún proyecto que nos sirva de punto de partida?
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #11  
Antiguo 19-09-2008
pablopessoa pablopessoa is offline
Miembro
 
Registrado: may 2008
Ubicación: Argentina
Posts: 162
Poder: 17
pablopessoa Va por buen camino
si creo que subiendo un ejemplo se va a ver mas claro.
ahi adjunte el ejemplo con el que estoy probando , la idea es que yo loestoy haciendo con una resolucion de 1152x864 y tiene que acomodarse para verse en 800x600.
te agradezco muchisimo la ayuda y la molestia

Última edición por pablopessoa fecha: 30-11-2008 a las 17:59:09.
Responder Con Cita
  #12  
Antiguo 19-09-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Hola

Una pregunta antes de ver tu ejemplo, has intentado ver la forma desde una resolución 800x600, digo, no estaría de mas ver si con esa resolución se puede contener todos tus componentes y se ven apropiadamente.

Digo, solo es una idea antes de quebrarse la cabeza con algo que no fuese posible y/o visualmente adecuado.

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #13  
Antiguo 19-09-2008
pablopessoa pablopessoa is offline
Miembro
 
Registrado: may 2008
Ubicación: Argentina
Posts: 162
Poder: 17
pablopessoa Va por buen camino
si te entiendo, pero ya me fije, lo que mande es un ejemplo, la aplicacion real tiene un formulario con muchas cosas que no puedo hacer entrar en 800x600 ni apretando todas las componentes jajaja por eso la idea era que se adapten a la resolucion de pantalla
Responder Con Cita
  #14  
Antiguo 19-09-2008
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 23
José Luis Garcí Va camino a la fama
Wink

Prueba con algunos componentes , según sea tu versión de Delphi. Personalmente he probado algunos que funcionan bien , te dejo el enlace y tu puedes comprobarlo.

TFormResizer v.2.0

Espero te funcione.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #15  
Antiguo 19-09-2008
pablopessoa pablopessoa is offline
Miembro
 
Registrado: may 2008
Ubicación: Argentina
Posts: 162
Poder: 17
pablopessoa Va por buen camino
la verdad les agradezco la ayuda y la preocupacion.
hace rato estoy probando con la componente esa.. pero lamentablemente no me nada, la instale, le setee las opciones, en fin, segui el txt que trae al pie de la letra.. pero hasta ahora obtuve mejores resultados con el ScaleBy y con los anchors... solo que no le pego la combinacion ... sobre todo con un tpanel que esta seteado "aling=Altop", en ese caso todo lo que tengo adentro del panel no lo puedo modificar....
ya me esta haciendo sentir frustrado....
Responder Con Cita
  #16  
Antiguo 19-09-2008
Avatar de MAXIUM
MAXIUM MAXIUM is offline
Miembro
 
Registrado: may 2005
Posts: 1.490
Poder: 21
MAXIUM Va camino a la fama
Yo tengo problemas cuando la pantalla no es 4:3 (widescreen)
Responder Con Cita
  #17  
Antiguo 20-09-2008
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino
Je y ya todas seran de 16:9!!

Yo tengo mi monitor de 22" con resolucion de 1680 x 1050.
¡¡¡¡Lo que quieras poner en un formulario se ve fantastico!!!! sin embargo es cierto en las oficinas, en la industria y en general aun se encuentra las resoluciones de 800 x 600, por lo tanto, yo lo que hago es crear un form con medidas de 750 x 550 y ahi colocar mis componentes, en modo normal (no maximizado) al final si tus componentes no aparecen todos en tu pantalla el form tiene las barras de desplazamiento para que avanze el usuario y si aun asi no caben entonces replanteate el form y tal vez un form auxiliar. Por cierto ¿haz visto que algunas aplicaciones "comerciales" te piden dentro de los requerimientos de la misma una resolucion minima?
"Se recomienda una resolucion de pantalla de 1024 x 768"

Saludos y buen fin de semana
__________________
ESTO ES UN FORO ... NO UN MÓVIL
¿Por qué no escribir de una manera comprensible para que los humanos lo podamos entender?
Responder Con Cita
  #18  
Antiguo 20-09-2008
Avatar de MAXIUM
MAXIUM MAXIUM is offline
Miembro
 
Registrado: may 2005
Posts: 1.490
Poder: 21
MAXIUM Va camino a la fama
Así es, dice se RECOMIENDA no OBLIGA. Muchos usuarios tienen problemas a la vista, más que nada por los textos, por ende usan resoluciones bajas como lo es 800x600.

Ahora, por lo menos en mi pais, la tendencia es a usar notebook y monitores LCD, los cuales la mayoría se comercializa en formato Widescreen. Si restringo mi software tambien lo hago con los clientes y ventas.

Esto lo coloco en el evento onCreate del Formulario principal con las dimensiones 800x600 en tiempo de diseño.

Código Delphi [-]
  // Redimensiona la aplicación en base a la resolución de la pantalla.
     If Screen.Width = 1024 then ScaleBy(740, 572);
     If Screen.Width =  800 then ScaleBy(578, 572);

Última edición por MAXIUM fecha: 20-09-2008 a las 03:32:13.
Responder Con Cita
  #19  
Antiguo 20-09-2008
pablopessoa pablopessoa is offline
Miembro
 
Registrado: may 2008
Ubicación: Argentina
Posts: 162
Poder: 17
pablopessoa Va por buen camino
gente creo que pude dar con una solucion aceptable. Hasta ahora con ScaledBy el formulario se acoplaba bien... pero no se acomodaban bien algunas componentes. por lo que opte por poner las componentes dentro de un panel y el panel ocupando todo el formulario entonces en el OnCreate del Form no solo le aplico ScaledBy el form si no tambien al panel, de ese modo hasta ahora se ajusta todo muy bien, le acomodo las Font cambiando el PixelPerInch y listo. Cualquier novedad los mantengo al tanto por que luego voy a probar que pasa con monitores widescreen (supngo queigual quedara cuadrado.. no creo que lo estire a lo ancho).
Saludos y muchas gracias!!!
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 de pantalla hermes_32 Varios 5 13-06-2015 23:18:00
resolucion de pantalla rtorioa OOP 5 26-09-2005 19:18:52
Resolucion de Pantalla niogon Varios 1 26-01-2004 17:06:43
Resolución de pantalla kalimero Varios 8 05-11-2003 21:41:47
resolución de la pantalla lfidanza Varios 1 03-10-2003 15:25:52


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


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