Einzelnen Beitrag anzeigen

Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: Das geheimnissvolle Controll

  Alt 14. Nov 2018, 13:40
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
Miniaturansicht angehängter Grafiken
13_11_19-window.jpg  
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat