Hi zusammmen
So wähle ich eine Pdf-Datei
Delphi-Quellcode:
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;
Der Containerframe ermöglicht individuelle Änderungen, ohne gleich den Openfileframe ändern zu müssen, ist aber nicht absolut nötig:
Delphi-Quellcode:
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;
Schliesslich kommt der Event in der Mainform an:
Delphi-Quellcode:
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;
Und hier soll der Edgebrowser nun angewiesen werden, die gewählte Pdf-Datei anzuzeigen. Nur - das tut er nicht.
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