Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-06-2007
david.rguez david.rguez is offline
Miembro
 
Registrado: jun 2006
Ubicación: Zamora, la bien cercada
Posts: 104
Poder: 21
david.rguez Va por buen camino
Cita:
Empezado por Bicho
Ves más sencillo y más fácil.

Saludos
No, eso no me sirve (cuestión de estética del programa). No debe aparecer nada más que los componentes, sin paneles de por medio ni otros que se vean.

La idea del grupo es para, dentro de un mismo panel, poder tener distintas disposiciones manteniendo componentes sin mover, estando estos entrelazados (si pusiera un panel, los componentes fijos saldrían cortados), de forma que pueda dar una orden a todo ese grupo sin tocar el resto de los componentes que puedan estar "físicamente" entre ellos.

No sé si me doy a entender bien.
Responder Con Cita
  #2  
Antiguo 08-06-2007
Avatar de Bicho
[Bicho] Bicho is offline
Miembro Premium
 
Registrado: jul 2003
Ubicación: Inca - Mallorca
Posts: 1.776
Poder: 25
Bicho Va por buen camino
Cita:
Empezado por david.rguez
No, eso no me sirve (cuestión de estética del programa). No debe aparecer nada más que los componentes, sin paneles de por medio ni otros que se vean.

La idea del grupo es para, dentro de un mismo panel, poder tener distintas disposiciones manteniendo componentes sin mover, estando estos entrelazados (si pusiera un panel, los componentes fijos saldrían cortados), de forma que pueda dar una orden a todo ese grupo sin tocar el resto de los componentes que puedan estar "físicamente" entre ellos.

No sé si me doy a entender bien.
Pero los paneles puedes quitar los bordes y son totalmente inapreciables.
Así puedes tener dentre de un panel principal, varios paneles. En los cuales a uno le pones unos componentes que no quieres que se toquen y otros que lo puedes ocultar, deshabilitar, etc en otro panel.
Para ello debes modificar las siguientes propiedades:
- BevelInner = bvNone
- BevelOuter = bvNone
- BorderWidth = 0
Así el panel no se notará nada.

Creo que es lo que buscas (si lo he entendido bien)

Saludos
Responder Con Cita
  #3  
Antiguo 08-06-2007
david.rguez david.rguez is offline
Miembro
 
Registrado: jun 2006
Ubicación: Zamora, la bien cercada
Posts: 104
Poder: 21
david.rguez Va por buen camino
Cita:
Empezado por Bicho
Pero los paneles puedes quitar los bordes y son totalmente inapreciables.
Así puedes tener dentre de un panel principal, varios paneles. En los cuales a uno le pones unos componentes que no quieres que se toquen y otros que lo puedes ocultar, deshabilitar, etc en otro panel.
Para ello debes modificar las siguientes propiedades:
- BevelInner = bvNone
- BevelOuter = bvNone
- BorderWidth = 0
Así el panel no se notará nada.

Creo que es lo que buscas (si lo he entendido bien)

Saludos
Pero el panel en sí sigue siendo visible ¿o no? Si es así, me seguiría cortando los componentes.

Código PHP:
---------                    --------- 
|   
1   |       ----------   |   3    
---------       |    
2    |  --------- 
                ---------- 
Para que os hagáis una idea. Esos son 3 componentes (botones, Edit, Grids... puede ser cualquiera). El 2 tiene que mantenerse fijo y siempre visible pero el 1 y el 3 tendrán que aparecer o desaparecer según la situación. Si utilizo un panel, aunque quite los bordes, me cortaría la mitad del componente 2, pues sigue siendo visible.

Lo que busco es poder dar una orden directa a 1 y a 3 para que se oculten (con solo 2 componentes no me importaría dar la orden uno por uno, pero cuando se juntan en mayor número toca un poco más las narices).

Última edición por david.rguez fecha: 08-06-2007 a las 13:55:16.
Responder Con Cita
  #4  
Antiguo 08-06-2007
Avatar de Bicho
[Bicho] Bicho is offline
Miembro Premium
 
Registrado: jul 2003
Ubicación: Inca - Mallorca
Posts: 1.776
Poder: 25
Bicho Va por buen camino
Cita:
Empezado por david.rguez
Para que os hagáis una idea. Esos son 3 componentes (botones, Edit, Grids... puede ser cualquiera). El 2 tiene que mantenerse fijo y siempre visible pero el 1 y el 3 tendrán que aparecer o desaparecer según la situación. Si utilizo un panel, aunque quite los bordes, me cortaría la mitad del componente 2, pues sigue siendo visible.
No hombre. Al panel le redimensionas como quieras o lo alineas de alguna forma y no tiene porque cortar nada.
Ves jugando con los panels. No hay necesidad de cortar objetos.

Saludos
Responder Con Cita
  #5  
Antiguo 08-06-2007
david.rguez david.rguez is offline
Miembro
 
Registrado: jun 2006
Ubicación: Zamora, la bien cercada
Posts: 104
Poder: 21
david.rguez Va por buen camino
Cita:
Empezado por Bicho
No hombre. Al panel le redimensionas como quieras o lo alineas de alguna forma y no tiene porque cortar nada.
Ves jugando con los panels. No hay necesidad de cortar objetos.

Saludos
Toma como ejemplo los componentes que he "dibujado". Ahí el nº 2 se mete entre el 1 y el 3 de forma que por mucho que ajustemos el panel, pilla parte del 2 de por medio.

Y no puedo sacar el 2 de ahí porque esa es la disposición que necesito (bueno, este es solo un ejemplo, pero en nuestro programa son más componentes los que se entremezclan componiendo la ventana).

Última edición por david.rguez fecha: 08-06-2007 a las 14:28:52.
Responder Con Cita
  #6  
Antiguo 08-06-2007
Avatar de Bicho
[Bicho] Bicho is offline
Miembro Premium
 
Registrado: jul 2003
Ubicación: Inca - Mallorca
Posts: 1.776
Poder: 25
Bicho Va por buen camino
No hay problema.
- Pones el 1 y el 3 en un panel para ellos
- Coges el 2 y lo metes dentro de otro panel (este sin alinear, sólo que coja el tamño que quieras pero sin que pise los demas componente 1 y/o 3). Ahora mismo te quedará cortado.
- El panel que contiene el 2, en modo diseño, con el botón derecho. En el menú popup vas a la opción Control->Bring to front
- Y ya tienes el 2 encima de los demás. Ahora le quitas los bordes como te he enseñado antes y listo.

Espero ahora si te sirva.

Saludos
Responder Con Cita
  #7  
Antiguo 08-06-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Se puede hacer por código, pero dependerá mucho de las operaciones que quieras realizar, esas operaciones tienes que definirlas de antemano, sabiendo qué propiedades quieres tocar.

Si quieres tocar la propiedad Visible nada más, podrías usar la clase Tcomponent como clase base.

El caso más peliagudo es cuando quieres tocar las propiedades que pueden existir o no (dependiendo del control).

La Forma que indica Ñuño es la más acertada, aunque sugiero un TObjectList.

Para muestra un botón:
Código Delphi [-]
uses contnrs;

Componentes:TObjectList;
begin
  Componentes := TObjectList.Create(false);
  Componentes.Add(button1);
  Componentes.Add(button2);
  Componentes.Add(Panel1);

  
for I:= 0 to Componentes.Count-1 do
  TComponent(Bottones[i]).Visible := false;
// lo que se ha añadido son botones y paneles, pero todos descienden de TComponent
// así que puedo hacer un moldeo de tipos y asignar la propiedad visible que tiene todo TComponent

  Botones.Free;
end;

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #8  
Antiguo 08-06-2007
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.025
Poder: 28
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
¿Y por qué no creas una clase? Por ejemplo (así, a lo burro):
Código Delphi [-]
TGrupoComponentes = CLASS
PRIVATE
  fComponentes: ARRAY OF TCOMPONENT;
  fNumComp: INTEGER;
PUBLIC
  CONSTRUCTOR Create;
  PROCEDURE AnnadeComponente (Componente: TCOMPONENT);

  PROPERTY Componentes: ARRAY OF TCOMPONENT READ fComponentes;
END;

CONSTRUCTOR TGrupoComponentes.Create;
BEGIN
  fNumComp := 0;
END;

PROCEDURE TGrupoComponentes.AnnadeComponente (Componente: TCOMPONENT);
BEGIN
  INC (fNumComp);
  SETLENGTH (fComponentes, fNumComp);
  fComponentes[fNumComp] := Componente;  
END;
Posiblemente esto no funcione y que haya una estructura mejor que el ARRAY para almacenar referencias a componentes, pero creo que entiende la idea.

[edit] Bicho tiene razón: si quitas los bordes a un panel y le pones el mismo color que el fondo de la aplicación se vuelve invisible.

Última edición por Ñuño Martínez fecha: 08-06-2007 a las 13:47:02.
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
Agrupar archivos... craven Varios 3 01-11-2006 21:58:20
agrupar de a 1 y varios raudelink SQL 3 16-11-2004 00:58:11
Agrupar en QuickReport anitra_cattivo Impresión 6 26-08-2003 02:13:42
Agrupar ? ramiretor Impresión 1 16-05-2003 01:51:32
Agrupar información nfernandez Impresión 1 08-05-2003 20:19:00


La franja horaria es GMT +2. Ahora son las 00:01:48.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi