Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-10-2015
mjjj mjjj is offline
Miembro
 
Registrado: mar 2007
Posts: 652
Poder: 18
mjjj Va por buen camino
Varios Frames en un Formulario

Estimado, creo que este tema aplica no solo para Lazarus, pero ya que mi intención es una aplicación desarrollada en Lazarus para Linux (Raspbian) lo agrego aquí.

Tengo una formulario principal, con 2 TPanel, con la propiedad Align alTop y alClient respectivamente.
Además otro TFrame, con algunos componentes previamente configurado (Tedit, TLabe, etc.)

En tiempo de ejecución se realiza una consulta a una BD, y se creen tantos frames (previamente configurado) como registros devuelva la consulta, todos estos creados uno al lado del otro en el Panel del formulario principal.

Todos los frames creados deben ser independientes, ya que cada edit y label se cargará con los datos del query.

Como hago esto??

Saludos
Responder Con Cita
  #2  
Antiguo 26-10-2015
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Creas el frame y lo "empotras" en un contenedor

Código Delphi [-]
var
  AFrame: TFrame;
begin
  AFrame := TFrame.Create(Self); // asumiendo self el form
  AFrame.Parent := Self; // parent indica en donde se va a visualizar un control. 
end;

Tambien podrias poner por ej. AFrame.Parent := Panel1, AFrame.Parent := GroupBox1, etc. Siempre y cuando sea un contendedor
Responder Con Cita
  #3  
Antiguo 26-10-2015
mjjj mjjj is offline
Miembro
 
Registrado: mar 2007
Posts: 652
Poder: 18
mjjj Va por buen camino
Eso me funciona perfecto, pero tengo problemas con la posición, ya que la cantidad depende de los registros, y con ese código quedan todos en la misma posición... uno sobre otro.
La idea es que se distribuyan automaticamente dentro del contenedor... en mi caso un TPanel.
Estuve probando con Align := alleft, pero solo me quedan en una fila.

Quizás una solución es crear Paneles en runtime, en base al ancho del panel contender y el ancho del frame, e ir asignado el parent según los frames que existan previamente creados...
Es un poco engorroso... Alguna idea más sencilla??

Saludos.
Responder Con Cita
  #4  
Antiguo 26-10-2015
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Si obvio, algun tipo de Align tenes que usar, sino te quedan uno encima de otro

Que tipo de layout queres crear? Uno abajo de otro?

Yo meteria un TScrollBox (asi se llamaba no?) y los iria metiendo todos los frames en ese scrollbox con Align = alTop

Te deberia quedar asi:

---Frame 1---
///////////////
//////////////
--Fin Frame 1---
---Frame ---
///////////////
//////////////
--Fin Frame 2---
Responder Con Cita
  #5  
Antiguo 26-10-2015
mjjj mjjj is offline
Miembro
 
Registrado: mar 2007
Posts: 652
Poder: 18
mjjj Va por buen camino
Por el tamaño del Frame me quedaría perfecto en filas y columnas... es decir, puede que quepan 3 o 4 por fila, y quizás 5 o 6 filas, pero todo esto depende del tamaño-resolución donde se ejecute l aplicación.
Otra cosa, como puedo eliminar todos los Frame en runtime??

Saludos.
Responder Con Cita
  #6  
Antiguo 26-10-2015
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
En ves de un panel usa un TGridPanel para crear un layout fila/columnas

Si, agregalos a una lista asi no perdes la referencia al Frame
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
Edición de formulario con varios campos vicens22 Desarrollo en Delphi para Android 0 19-12-2013 19:13:02
Ayuda relaciones de varios a varios TQueries j_flores3000 SQL 7 22-11-2008 21:43:40
Un formulario principal y varios secundarios en una aplicación noob OOP 6 25-09-2008 19:53:43
Linkar varios botones sobre un mismo formulario mieltxo HTML, Javascript y otros 5 25-01-2008 21:59:40
Varios forms, frames y un Data Module gluglu Varios 1 07-04-2005 19:28:51


La franja horaria es GMT +2. Ahora son las 06:10:09.


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