// tehdään 136 x 255 suuruiselle panelille "ruutumatriisi"
// 8 saraketta ja 15 riviä = 120 ruutua
// ruudut ovat 17 x 17 pikselin kokoisia TLabel komponentteja
row := 0; column := 0; Left := 0; Top := 0;
for i := 1 to 120 do // Matriisi 8 x 15 TLabel "ruutua"
begin
Inc(column);
if column > 8 then
begin
Inc(row);
Left := 0;
Top := Top + 17;
column := 1;
end;
Labels[i] := TLabel.Create(nil);
Labels[i].Parent := pnlBtns;
Labels[i].Name := 'Ruutu'+IntToStr(i);
Labels[i].Transparent := false;
Labels[i].Color := clSilver;
Labels[i].Alignment := taCenter;
Labels[i].Layout := tlCenter;
Labels[i].AutoSize := False;
Labels[i].top := Top;
Labels[i].left := Left;
Labels[i].Width := 17;
Labels[i].Height := 17;
Labels[i].Font.Name := 'Arial Narrow';
Labels[i].Font.Size := 8;
Labels[i].Caption := IntToStr(i);
Labels[i].Tag := i;
Left := Left + 17;
end;
Sorry... taasen oma kämmi... Labels array oli määritelty liian
lyhyeksi esittelyssä!
Eli virhe oli "perustavaa laatua" kuten jo epäilinkin!
Eki
--
private
Labels : array [1..120] of TLabel;
Olisi hyv� ett� olille annetaan omistaja.
Vrt. edellinen esimerkkini.
Vesa