![]() |
Delphi-Version: 10.4 Sydney
Edgebrowser will nicht
Hi zusammmen
So wähle ich eine Pdf-Datei
Delphi-Quellcode:
Der Containerframe ermöglicht individuelle Änderungen, ohne gleich den Openfileframe ändern zu müssen, ist aber nicht absolut nötig:
procedure TOpenFileFrame.TVFilesExplorerMouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var AnItem: TTreeNode; ATextSelection :String; begin AnItem := TVFilesExplorer.GetNodeAt(X, Y); if not AnItem.HasChildren then begin FFileName := AnItem.Text; ATextSelection := PNameRec(AnItem.Data)^.RealName; if Assigned(OnTextSelectionEvent) then OnTextSelectionEvent(Sender,ATextSelection); end; end;
Delphi-Quellcode:
Schliesslich kommt der Event in der Mainform an:
procedure TFileSearchContainerFrame.DoSelectTextEvent(Sender: TObject; const ATextSelection: String);
begin FTextSelection := ATextSelection; Self.Edit2.Text := ATextSelection; if ExtractFileExt(ATextSelection) = AnsiLowerCase('.pdf') then begin if Assigned(FOnTextSelection) then FOnTextSelection(Sender, ATextSelection); end;
Delphi-Quellcode:
Und hier soll der Edgebrowser nun angewiesen werden, die gewählte Pdf-Datei anzuzeigen. Nur - das tut er nicht.
procedure THomeOfficerFeMain.DoTextSelectionEvent(Sender: TObject;
const ATextSelection: String); begin Self.RogersPdfFrame1.PdfFileName := ATextSelection; //Self.RogersPdfFrame1.PdfViewCreate2; // Hier den EdgeBrowser anzeigen Self.EdgeBrowserFrame1.EdgeBrowser1.Navigate(ATextSelection); // ??? end; Wesshalb? Der Edgebrowser liegt auf einem Tabsheet/Pagecontrol. Es wäre aber ein absolutes Novum, wenn Komponenten hier explizit adressiert werden müssten. Was mache ich falsch? Gruss Delbor |
AW: Edgebrowser will nicht
Ich finde es beim besten Willen nicht, meine aber, dass wir das Thema vor ein paar Monaten schonmal hatten. Eventuell war es in der englischen Delphi-Praxis oder auf StackOverflow, ich weiß es nicht mehr.
Jedenfalls hat, meine ich doch, sowohl der alte Internet Explorer, als auch Edge, keine Lust etwas anzuzeigen wenn er auf einem nicht sichtbaren TabSheet eines PageControl liegt. Kannst du ein Minimalbeispiel einstellen? Kannst du zu einem Test das PageControl weglassen? PS: Ich glaube das hier war, was ich noch im Hinterkopf hatte: ![]() |
AW: Edgebrowser will nicht
Hi Günther
Aproppo Frames: Ich hatte vor einiger Zeit versucht, mit Panels/GridPanels auf einem Frame zu arbeiten. Dabei hätten die (2) Panels mit je 6 Gridpanels eingemittet erden sollen - ich hatte eine Weile, bis mir klar wurde, dass entsprechender Code im Basisframe auch die Mitte des Basisframes ermittelt. Auch wenn die Frameinstanz diesen Code erbt. Wenn, dann müsste der Parent der Frameinstanz die entsprechende Methode bereitstellen. Zitat:
Zitat:
Gruss Delbor |
AW: Edgebrowser will nicht
Hi Günter
Ich hab jetzt mal der Demo ein PageControl mit zwei Tabsheets verpasst, dass 2. mit Panel und Edgebrowser. Damit kann 'problemlos' ein Verzeichnis mit Unterverzeichnissen angezeigt werden. Pdf ist ebenfalls kein Problem. Wenn allerdings das Tabsheet mit dem Edge nicht sichtbar ist, bleibt der Edge auch nach aktivieren seines Parenttabsheets weg. Wie sich das verhält, wenn der Edge in TPageControl.OnChange 'gestartet' wird, hab ich noch nicht getestet. Anbei noch die ergänzten Createprozedur der Demo:
Delphi-Quellcode:
procedure TEdgeViewForm.FormCreate(Sender: TObject);
var X : String; begin X := 'F:\BenutzerHandbücher&Manuals\Benutzerhandbuch HP OfficeJet 3830 All-in-One series'; EdgeBrowser1.Navigate(X); // EdgeBrowser1.Navigate('https://www.delphipraxis.net/forum.php'); end; Gruss Delbor |
AW: Edgebrowser will nicht
Ja genau, das meinte ich.
Ich glaube ich hatte ein ähnliches Problem mit einem Popup das erst einmal eingerichtet werden sollte (Beschriftungen anpassen, PDF einblenden, Größe setzen) und dann erst eingeblendet wurde. Ich habe mir dann stattdessen die URL zum PDF gemerkt und den Browser dann erst im onActivate des Formulars die PDF anzeigen lassen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:35 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz