• Domingo 22 de Diciembre de 2024, 13:04

Autor Tema:  Como Evitar Q Todo Se Desordene Si Maximizo El For  (Leído 4474 veces)

Vika

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Como Evitar Q Todo Se Desordene Si Maximizo El For
« en: Domingo 9 de Mayo de 2004, 16:32 »
0
Pue sel problema no es muy complicado creo, pero mis conocimientos son un poco bajos, je. La cosa es q quiero q al maximizar el formulario los controles sigan en el centro, xa q kede mas bonito vamos. Creo q debo utilizar Onresize pero no se muy bien que tengo q hacer. Me podriais echar una mano??

vermicida

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Como Evitar Q Todo Se Desordene Si Maximizo El For
« Respuesta #1 en: Sábado 22 de Mayo de 2004, 00:25 »
0
Hola, este es el primer post que escribo, a ver si te sirvo de ayuda y me estreno con buen pie :rolleyes:

Hace apenas unas meses que uso Delphi, pero estoy muy contento con el lenguaje. Posiblemente, exista la propiedad "Anchor", como en VB.Net, que ajusta los elementos vertical y horizontalmente a los laterales del formulario que los contiene, para que al hacer un resize de la ventana mantengan la relación de tamaño, pero yo no la he encontrado. Aún así, tú comentas de mantener los objetos de un formulario en el centro al maximizar/restaurar; yo te comento como hacer que se mantengan centrados en pantalla, y tú ya juegas con ello en función de tus necesidades. El truco está en establecer las propiedades top y left de los objetos al centro de la pantalla menos la medida media del objeto en sí; que lio, ¿verdad? Pues mira, haz esto: pon todos los controles del formulario en un panel, y escribe el código este en el evento OnResize del formulario:

pnlPanel.Top := (Screen.Height /  2) - (pnlPanel.Height / 2);
pnlPanel.Left := (Screen.Width /  2) - (pnlPanel.Width / 2);

De esta manera se centrará el panel en pantalla siempre que se produzca un resize :lol:
Cradle Of Filth - Nymphetamine

BlackTigerX

  • Miembro activo
  • **
  • Mensajes: 92
    • Ver Perfil
Re: Como Evitar Q Todo Se Desordene Si Maximizo El For
« Respuesta #2 en: Miércoles 26 de Mayo de 2004, 16:05 »
0
asi es, la propiedad Anchors si existe para todos los controles visuales, basicamente lo unico que tienes que hacer es jugar con 2 propiedades

Align y Anchors

Align te permitira poner el componente arriba, abajo, izquierda, derecha o completa (client)
y cuando maximizas, o haces resize, los controles se mueven acordemente

cuando cambias Align los Anchors automaticamente se cambian, pero tu los puedes cambiar tambien, solo hay 4 propiedades aqui, akLeft, akTop, akRight, akBottom, basicamente cuando estan a True, quiere decir que el control se va a cambiar de tamaño cuando ese lado cambie (izq, derecha, arriba, abajo)

juega con esas propiedades

otra cosa muy comun es usar paneles para agrupar todos tus componentes, incluso se usa mucho tener paneles dentro de paneles... por ejemplo, una aplicacion puede tener un panel con Align alTop para todos los componentes que siempre van arriba en tu form, y otro panel con Align alClient para todo el detalle
dentro del panel con alClient puedes tener otros paneles con alLeft, otro con alClient, etc... prueba eso y veras como todos tus componentes se mueven acordemente como tu quieres...
BlackTigerX