Ver Mensaje Individual
  #5  
Antiguo 06-01-2010
cmm07 cmm07 is offline
Miembro
 
Registrado: nov 2007
Posts: 526
Reputación: 19
cmm07 Va por buen camino
Hola , pues no era tan complicado como pensaba, te dejo un avance para que ya veas algunos resultados:

Código Delphi [-]
var
HeightBut, WidthBut: Integer;
ParentVarCount, ParentVarMax: TPanel;
ID, I, TopCount, LeftCount : Integer;
Boton: TButton;
begin
HeightBut := 20;
WidthBut  := 20;
ParentVarCount:= Panel1;
ParentVarMax:= Panel1;
TopCount:= 0;
LeftCount := 0;

for I := 0 to (Round(ParentVarCount.Height / HeightBut)) - 1 do begin
  for ID := 0 to (Round(ParentVarCount.Width / WidthBut)) - 1 do begin
    Boton := TButton.Create(ParentVarCount);
    Boton.Left := LeftCount*WidthBut + ParentVarCount.Left;
    Boton.Top  := TopCount*HeightBut + ParentVarCount.Top;
    Boton.Height := HeightBut;
    Boton.Width := WidthBut;
    Boton.Parent:= ParentVarCount.Parent;
    Boton.Show;
    LeftCount:= LeftCount +1;
  end;
  LeftCount := 0;
  TopCount:= TopCount +1;
end;

CRea un panel con dimensiones 200x200

PD: pueden haber otros metodos que ocupe menos recursos....

Ahora solo falta agregar la función de que pase de un panel a otro......pero eso creo que lo haré después, si encuentras algo más no dudes en postearlo...

Utilice la opción ROund(redondeo) asi que la agregación de botones nunca va a ser perfecto a menos que la división entre el Height y Width del boton con el H o W del panel sea un numero entero, como en el ejemplo. 40x40 y 400x400 Número entero 10

54Lu2

Última edición por cmm07 fecha: 06-01-2010 a las 16:06:50.
Responder Con Cita