Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Werkzeuge (https://www.delphipraxis.net/63-sonstige-werkzeuge/)
-   -   FastReport PreviewForm MouseWheel (scrollen) geht nicht! (https://www.delphipraxis.net/191831-fastreport-previewform-mousewheel-scrollen-geht-nicht.html)

Jens Hartmann 23. Feb 2017 21:40

FastReport PreviewForm MouseWheel (scrollen) geht nicht!
 
Hallo zusammen,

um die fertige Toolbar von FastReport im Preview nutzen zu können, habe ich mich der Funktion aus dem folgenden Link bedient...
https://www.fast-report.com/en/forum...php/t9373.html

Das ganze funktioniert auch eigentlich super. Bis auf, dass ich in dieser Vorschau nicht scrollen kann.

Hier mal meine Zuweisung:
Delphi-Quellcode:
procedure TfPrintTemplates.frxReport_FinalPreview(Sender: TObject);
begin
   frxReport_Final.PreviewOptions.Modal := False;
   frxPreview := TfrxPreviewForm(frxReport_Final.PreviewForm);
   frxPreview.BorderStyle := bsNone;
   frxPreview.Parent:=pnlPreview;
   frxPreview.Left:=0;
   frxPreview.Top:=0;
   frxPreview.Width:=pnlPreview.ClientWidth;
   frxPreview.Height:=pnlPreview.ClientHeight;
   pnlPreview.SetFocus;
end;
wie man sieht, ist der Parent ein Panel. Das Problem mit dem scrollen hatte ich schon mal im Zusammenhang mit der Preview Komponente. Hier musste man im OnMouseWheel der Form auf welcher das Preview lag, die Steuerung selber implementieren. Gelöst wie folgt:

Delphi-Quellcode:
procedure TfReportClient.FormMouseWheel(Sender: TObject; Shift: TShiftState;
  WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
begin
  if frmReportVorschau1.frxPreview1.Focused then
    frmReportVorschau1.frxPreview1.MouseWheelScroll(WheelDelta);
end;
Das ganze kann ich aber mit der
Delphi-Quellcode:
  var
     frxPreview: TfrxPreviewForm;
nicht lösen.

Hat jemand eine Idee, wie ich beim Anzeigen des Previews und wenn die Mouse über diesem steht, dass scrollen aktivieren kann?

Danke schon mal und Gruß Jens

Jens Hartmann 23. Feb 2017 21:47

AW: FastReport PreviewForm MouseWheel (scrollen) geht nicht!
 
Sorry, aber Lösung schon selber gefunden. Manchmal kommt dann doch der Gedankengang...

Hier die Lösung...

in der Form wo die PreviewForm liegt...
Delphi-Quellcode:
procedure TfReportClient.FormMouseWheel(Sender: TObject; Shift: TShiftState;
  WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
begin
  if frmReportVorschau1.frxPreview1.Focused then
    frmReportVorschau1.frxPreview1.MouseWheelScroll(WheelDelta);
  if fPrintTemplates.frxPreview.Preview.Focused then
    fPrintTemplates.frxPreview.Preview.MouseWheelScroll(WheelDelta);
end;
Da auf der PreviewForm ein TfrxPreview liegt, muss natürlich mit
Delphi-Quellcode:
frxPreview.Preview.
auf die Funktion
Delphi-Quellcode:
MouseWheelScroll(WheelDelta);
zugegriffen werden.

Vorher noch den Focus richtig setzen...

Delphi-Quellcode:
    frxReport_Final.ShowPreparedReport;
    frxPreview.Preview.SetFocus;
  except
Gruß Jens


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:49 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz