Einzelnen Beitrag anzeigen

Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#5

Re: Panels in einer Scrollbox anzeigen lassen

  Alt 6. Jan 2007, 11:51
Hallo,

ich habe es mal versucht. Leider funktioniert es nicht so ganz wie ich es will. Wenn ich die Procedure aufrufe und eine 1 übergebe, dann funktioniert ja auch noch alles. Aber wenn ich eine 2 übergebe, dann funktioniert auch alles, außer der beschriftung. Die Breite und Höhe wird richtig berechnet. Wo liegt mein Fehler???

Delphi-Quellcode:
procedure TForm1.ShowPictures(a : Integer);
  var p : Array of TPanel;
      r : Integer;
      j : Integer;
begin
  SetLength(p, a);

  r:=10;

  for j:=1 to a do
   begin
     p[j - 1]:=TPanel.Create(nil);
     p[j - 1].Caption:='Panel ' + IntToStr(j);
     p[j - 1].Width:=Round((ScrollBox1.Width - 3 * r) / 2);
     p[j - 1].Height:=Round((ScrollBox1.Height - 3 * r) / 2);

     if j mod a = 0 then
       begin
         p[j - 1].Left:=r;
         p[j - 1].Top:=r;
       end
     else
       begin
         p[j - 1].Left:=Round(2 * r + (ScrollBox1.Width - 3 * r) / 2);
         p[j - 1].Top:=r;
       end;

     p[j - 1].Parent:=ScrollBox1;
   end;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
  ShowPictures(2);
end;
  Mit Zitat antworten Zitat