Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-08-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Alineación de controles

Hola,

Tengo un formulario con un ToolBar, un TreeView y un Memo. Quiero alinear los controles de manera que el ToolBar y el Memo se "peguen" a la parte superior (Alignment = alTop) y el TreeView a la izquierda (Alignment = alLeft).

Si pongo las propiedades tal y como comento los controles se colocan así:


Código:
+--------------------------------------+
|        Toolbar (alTop)               |
+--------------------------------------+
|                                      |
|           Memo (alTop)               |
|                                      |
|                                      |
+-------------+------------------------+
|             |
|  TreeView   |
|  (alLeft)   |
|             |
|             |
|             |
|             |
|             |
|             |
|             |
+-------------+
pero yo quisiera que se colocasen así:


Código:
+--------------------------------------+
|        ToolBar (alTop)               |
+-------------+------------------------+
|             |                        |
|             |     Memo (alTop)       |
|  TreeView   |                        |
|  (alLeft)   |                        |
|             +------------------------+
|             |
|             |
|             |
|             |
|             |
|             |
|             |
|             |
|             |
|             |
+-------------+
¿Existe alguna forma de hacer esto?

Sé que podría lograr el efecto colocando un Panel con Alignment = alClient y dentro de él al Memo:


Código:
+--------------------------------------+
|        ToolBar (alTop)               |
+-------------+------------------------+
|             |+----------------------+|
|             ||    Memo (alTop)      ||
|  TreeView   ||                      ||
|  (alLeft)   ||                      ||
|             |+----------------------+|
|             |                        |
|             |                        |
|             |                        |
|             |         Panel          |
|             |       (alClient)       |
|             |                        |
|             |                        |
|             |                        |
|             |                        |
|             |                        |
+-------------+------------------------+
pero el problema es que quiero que el formulario sea MDI, y el Panel ocultaría los formulario hijos.

// Gracias
Responder Con Cita
  #2  
Antiguo 19-08-2004
Avatar de Kreyser
Kreyser Kreyser is offline
Miembro
 
Registrado: ago 2004
Ubicación: Barcelona
Posts: 114
Poder: 20
Kreyser Va por buen camino
Lightbulb Aliniado de controles

Hola roman, prueba con esto:

- ToolBar : alTop
- TreeView: alLeft
- Memo: alClient

Espero te sirva.

Un saludo.
__________________
"Es imposible hacer un programa 100% contra tontos, ya que éstos son muy ingeniosos"
Responder Con Cita
  #3  
Antiguo 19-08-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Gracias Kreyser, pero de esta forma el Memo ocupa toda el área cliente lo que ocultaría los formularios hijos.

// Saludos
Responder Con Cita
  #4  
Antiguo 19-08-2004
Avatar de Kreyser
Kreyser Kreyser is offline
Miembro
 
Registrado: ago 2004
Ubicación: Barcelona
Posts: 114
Poder: 20
Kreyser Va por buen camino
Ok

Perdona Roman, hay dias q ni con dibujos...

Supongo que deseas hacer esto, para que no se desvirtue el form ante una modificación de tamaño por parte del usuario, solo se me ocurre mencionarte (si bien supongo eres plenamente consciente de ello) la propiedad Anchors [akLeft,akTop,akRight,akBottom].

Tal como entiendo, si realizaras algo tal que esto:

Código:
  
procedure TForm1.FormCreate(Sender: TObject);
begin
   Memo1.Align:=alCustom;
   Memo1.Left:=TreeView1.Width;
   Memo1.Top:=ToolBar1.Height;
   Memo1.Height:=X;
   Memo1.Width:=Form1.Width-TreeView1.Width;
   Memo1.Anchors:=[akLeft,akTop,akRight];
end;
El memo quedaria fijado aun con cambios por parte del usuario.

Puede que no tenga nada que ver con tus intenciones, pero te lo dejo caer por si ayudara.

Saludos.
__________________
"Es imposible hacer un programa 100% contra tontos, ya que éstos son muy ingeniosos"
Responder Con Cita
  #5  
Antiguo 19-08-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por Kreyser
Puede que no tenga nada que ver con tus intenciones, pero te lo dejo caer por si ayudara.
Gracias. De hecho sí, éste es el efecto que deseo; el problema es que al hacerlo así Delphi no determina correctamente el área cliente de manera que al maximizar los formularios hijos éstos quedan ocultos por el Memo.

Un saludo
Responder Con Cita
  #6  
Antiguo 20-08-2004
Avatar de vic_ia
vic_ia vic_ia is offline
Miembro
 
Registrado: ene 2004
Posts: 238
Poder: 21
vic_ia Va por buen camino
hola roman...

estaba observando el windows media 9 en la pestaña de biblioteca multimedia y me parece que la forma en que quieres acomodar tus elementos se asemeja mucho a esta pantalla y observo que ésta ha utilizado controles splitter (bueno algo similar) para la creación del diseño... tal vez por ese lado podrias checar si es posible realizar lo que buscas....

saludos...
Responder Con Cita
  #7  
Antiguo 22-08-2004
Avatar de moesis
moesis moesis is offline
Miembro
 
Registrado: jun 2004
Ubicación: Islas Canarias
Posts: 46
Poder: 0
moesis Va por buen camino
Saludos

Roman, ¿podrías explicar esto que comentas?

Cita:
pero el problema es que quiero que el formulario sea MDI, y el Panel ocultaría los formulario hijos.
Gracias.
__________________
ø¤º° Moesis °º¤ø
Dios nos ha dado dos orejas y una boca para escuchar el doble de lo que hablamos.
Consulta la Guía de Estilo.
Responder Con Cita
  #8  
Antiguo 22-08-2004
Sirkius Sirkius is offline
Miembro
 
Registrado: jun 2004
Posts: 83
Poder: 20
Sirkius Va por buen camino
Creo que se refiere a que donde está el memo sigue siendo área cliente, donde los formularios hijos pueden estar (y logicamente, estarán ocultos). Con los align consigues que no forme parte del area cliente y que si alguien lleva un formulario por ahí, quede oculto pero sale una scrollbar de desplazamiento vertical.
Responder Con Cita
  #9  
Antiguo 22-08-2004
Avatar de salvica
salvica salvica is offline
Miembro
 
Registrado: mar 2004
Ubicación: Albacete (España) ... En un lugar de la Mancha ...
Posts: 304
Poder: 21
salvica Va por buen camino
En TRUCOMANIA http://www.q3.nu/trucomania/truco.cgi?348&esp ponen un código para hacer transparentes los Forms, a lo mejor te sirve o te ayuda algo.

Suerte
Responder Con Cita
  #10  
Antiguo 24-08-2004
Gydba Gydba is offline
Miembro
 
Registrado: ene 2004
Ubicación: Argentina
Posts: 673
Poder: 21
Gydba Va por buen camino
Hola Roman,

La verdad, y a pesar de ser muy gráfica tu exposición, no entiendo bien como lo querés (Toda mi comprensión se quedó hace 3 horas cuando salí del laburo ).

Yo probé algo así, según entendí por supuesto:
Código Delphi [-]
procedure TForm1.FormResize(Sender: TObject);
begin
   Memo1.SetBounds(TreeView1.Width, ToolBar1.Height, (Self.ClientWidth - TreeView1.Width), Memo1.Height)
end;
Espero no hacer un lio con esto, pero es lo más simple que puedo hacer por el momento con lo cansado que estoy.

Saludos para todos.
__________________
Suerte
.: Gydba :.
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


La franja horaria es GMT +2. Ahora son las 13:47:01.


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