Hi zusammen
Ich hab nun Delphi.Nariums Vorschlag mal umgesetzt. Allerdings habe ich lange nach einer Möglichkeit gesucht, die VertScrollbars standartmässig anzuzeigen -
das hier hat mir dann wohl geholfen (Beitrag 3):
Delphi-Quellcode:
procedure TRSPdfFrame.PdfViewCreate;
var i, iCount, iLeft, iHeight,
iTop, iWidth : Integer;
begin
if FPdfList.Count = 0 then
begin
iCount := 5; // Statt 0 bis 4 - 1 bis 5, damit kann man später besser weiterrechnen.
iLeft := (ScrollBox1.ClientWidth - iWidth) div 2;
iHeight := 120;
iTop := iHeight + 8; // Sehe allerdings gerade, dass dies falsch ist; danach ist das erste Top 128 statt 8
iWidth := Scrollbox1.ClientWidth - 40;
Scrollbox1.AutoScroll := False;
Scrollbox1.VertScrollBar.Range := iTop * ICount;
for i := 1 to 5 do
begin
FPDFView := TPdfView.Create(Self);
FPdfView.Parent := Scrollbox1;
FPdfView.Name := 'PdfView'+intToStr(i);
FPdfView.Color := clyellow;
FPdfView.Height := iHeight;
FPdfView.Top := (i-1) * iTop;
FPdfView.Width := iWidth;
FPdfView.Left := iLeft;
FPdfView.Visible := true;
// ScrollBox1.VertScrollBar.Range := ScrollBox1.VertScrollBar.Range + FPdfView.Height;
FPdfList.Add(FPdfView);
end;
end
else
Showmessage('Die Seiten sind bereits vorhanden');
end;
Leider wird mir keines der FPdfView angezeigt.
Der Vorschlag, mit den Margins zu arbeiten, gefällt mir irgendwie doch recht gut - sollen 2 oder mehrere Controls nebeneinander stehen, ist der notwendige Algorhytmus wohl sehr viel einfacher und übersichtlicher.
Gruss
Delbor