Hi Delphi.Narium
Vielen Dank für dein Beispiel! Ich hab das allerdings etwas anders umgesetzt. Auf der Mainform hab ich einen Buton platziert:
Delphi-Quellcode:
procedure THomeOfficerMainForm.BitBtn1Click(Sender: TObject);
begin
RSPdfContentFrame1.RSPdfFrame1.PdfViewCreate;
Edit1.Text := 'Es wurden ' + IntToStr(Self.RSPdfContentFrame1.RSPdfFrame1.PdfList.Count);
end;
Auslöser ist schlussendlich das Öffnen eines PDFs, dessen Seiten jeweilsden Controls zugewiesen werden - für den Test geügt mir vorerst aber der Aufruf von PdfViewCreate. Da gehts dann so weiter:
Delphi-Quellcode:
procedure TRSPdfFrame.PdfViewCreate;
var i: integer;
begin
if FPdfList.Count = 0 then
begin
for i := 0 to 4 do
begin
FPDFView := TPdfView.Create(Self);
FPdfView.Parent := Scrollbox1;
FPdfView.Name := 'PdfView'+intToStr(i);
FPdfView.Color := clyellow;
FPdfView.Height := 120;
FPdfView.Top := i * (FPdfView.Height + 8);
FPdfView.Width := Scrollbox1.ClientWidth - 40;
FPdfView.Left := (ScrollBox1.ClientWidth - FPdfView.Width) div 2;
ScrollBox1.VertScrollBar.Range := ScrollBox1.VertScrollBar.Range + FPdfView.Height;
FPdfList.Add(FPdfView);
end;
end
else
Showmessage('Die Seiten sind bereits vorhanden');
end;
FPdfList ist eine generische Objectliste. die - zumindest hier - bei Programmstart erzeugt und bei Ende zerstört wird. Interessant ist: Laut Help ist das Property OwnsObject dieser Liste per Voreinstellung True. Bevor ich das allerdings explizit zugewiesen hatte, erhielt ich immer bei Programmende eine Meldung. Die war zwar so schnell wieder weg, dass ich sie gar nicht lesen konnte.
Nach der Zuweisung war die Fehlermeldung weg...
Seltsam ist allerdings, dass nun die beiden letzten Controls weniger breit gezeichnet werden als die ersten drei. Im Anhang zeigt ein jpeg, wies zur Zeit aussieht.
Links von der Scrollbox mit den Controls befindet sich ein Splitter und eine weitere Scrollbox. Diese soll alle Seiten (teilweise im nichtsichtbaren Bereich) in Thumbnailgrösse entalten - standardmässig untereinander. Doch durch bewegen des Splitters soll diese Scrollbox die Thumbnails auch nebeneinander anzeigen können. Eine Herausforderung dürfte aber das Entwicklen eines entsprechenden Algorrytmus sein. Über Denkanstösse dazu würde ich mich freuen!
Gruss
Delbor