![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Hola,
Yo he logrado algo como esto: ![]() No sé si es lo que quieres. Para ello, redefino el método CustoAlignPosition del formulario:
Panel1 tiene alineación alLeft, Panel2 alRight y Panel3 alCustom. Esto último es importante porque si no, no se llama al método CustomAlignPosition. Lo malo es que la posición y tamaño iniciales del formulario hijo no se ajustan al área sobrante y tienes que moverlo tú mismo. // Saludos |
|
#2
|
|||
|
|||
|
Hola otra vez!! Tu solución funciona a la perfección Román, sólo que hay que hacer una pequeña modificación:
Tenéis toda la info referente a lo que voy a contar aquí http://www.marteens.com/trick49.htm (quitad los dos espacios, que no sé por qué, me dice que aún no tengo permitido poner enlaces ni imágenes....) Con alCustom no sólo se llama el método que tú indicas, sino que se llama también el de CustomAlignInsertBefore. Éste sirve para ordenar los componentes con alCustom y poder decidir cuál se pinta primero y cuál después. En mi caso, no hace falta llamarlo dado que sólo tengo un componente con alCustom. Con lo referente al otro método, CustomAlignPosition, sí es capaz de modificar el área de cliente, quedando las MDI perfectamente posicionadas sin tener que hacer nada más. Para ello se utiliza el parámetro AlignRect, que tiene el rectángulo del área sobrante (área cliente). Al final mi método quedó así (no hago diferenciación sobre quién es Control, ya que sólo tengo uno; si tuviese más de uno, con esta implementación, todos tendrían un pseudo-alTop, uno debajo del otro sin solaparse): AlignRect: rectángulo que queda libre para alinear componentes. Una vez todos están colocados, es el que se utiliza para alClient. Control: control que se está alineando en este momento. NewXXX: dimensiones del componente. Inicialmente las que tuviese en tiempo de diseño o antes de llamar a esta función. Se pueden modificar para redimensionar el componente. AlignInfo: información de alineamiento. Contiene una lista con todos los alCustom, el índice del Control actual, el tipo de alineación que tiene (alCustom siempre..) y otro parámetro Scratch que creo que no se utiliza para nada aunque no estoy seguro. Así, el resto de posibles paneles con alCustom recibirán el Rect modificado y se pintarán sin sobreponerse sobre ningún otro, y lo más importante, el espacio sobrante de AlignRect es el utilizado finalmente para alClient (o en mi caso para las MDI) Muchas gracias de nuevo, Un saludo, LoPiTaL Última edición por LoPiTaL fecha: 10-02-2010 a las 18:29:56. |
|
#3
|
||||
|
||||
|
Hola,
Pues qué gusto que ya lo hayas resuelto y agradezco el enlace que pones, que está muy interesante. Por cierto, ya corregí el enlace. A partir de tu próximo mensaje ya podrás ponerlos tú mismo. Tenemos la restricción de diez mensajes para evitar el SPAM. También te recomiendo que uses las etiquetas [code] o [delphi] para poner tu código, para que quede bien indentado y coloreado. // Saludos |
|
#4
|
|||
|
|||
|
Ok, gracias. Ya he corregido lo del código.
Un saludo, LoPiTaL |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Propiedad align | xanxov | Lazarus, FreePascal, Kylix, etc. | 3 | 06-02-2009 17:33:54 |
| Align en Printer.Canvas | principiante22 | Impresión | 1 | 18-12-2008 17:29:51 |
| Quickreport, qrmemo autostrech i qrdbtext align bottom | rafa_adrim | Impresión | 1 | 05-06-2007 16:55:09 |
| Comportamiento de bde con oracle 10 g | opsi | Conexión con bases de datos | 4 | 27-09-2006 22:32:47 |
| Controlar la propiedad Align de dos derivados de TControl.. | pvizcay | Varios | 2 | 05-07-2006 01:49:34 |
|