TPopupMenu do przeglądarki PDF, tak aby kliknięcie prawym przyciskiem na stronie wyświetlało menu kontekstoweproperty PopupMenu: TPopupMenu; // published, inherited from TControl
Ustawienie PopupMenu podłącza przeglądarkę do komponentu TPopupMenu umieszczonego na tym samym formularzu. Gdy użytkownik kliknie prawym przyciskiem (lub naciśnie klawisz menu na klawiaturze) wewnątrz przeglądarki, VCL/LCL automatycznie wyświetla menu w pozycji kursora — aplikacja nie musi sama obsługiwać WM_CONTEXTMENU
Typowe menu kontekstowe czytnika PDF oferuje pozycje takie jak Kopiuj zaznaczony tekst, Powiększ, Pomniejsz, Dopasuj szerokość, Obróć, Przejdź do strony…, Znajdź… i Zapisz jako…. Pozycje menu zwykle odczytują lub zapisują publiczne właściwości, takie jak CurrentCharIndex, Zoom, FitMode, Rotation i PageNumber, aby działać na dokumencie
Ponieważ menu wysuwane jest wyświetlane mechanizmem OnContextPopup, możesz je dynamicznie wyciszyć lub zastąpić, obsługując OnContextPopup i ustawiając Handled := True — przydaje się to, gdy kliknięcie prawym przyciskiem następuje nad polem formularza lub adnotacją wymagającą własnego menu
TPopupMenu jest przechowywane jako odniesienie do komponentu w pliku formularzaAllowUserTextSelection ma wartość FalseTPopupMenu.OnPopup i sprawdź stan przeglądarki, taki jak CurrentCharIndex czy Pdf.Active
// Attach a context menu offering Copy / Fit Width / Go to Page
procedure TForm1.FormCreate(Sender: TObject);
begin
PdfView1.PopupMenu := pmReader;
end;
procedure TForm1.miFitWidthClick(Sender: TObject);
begin
PdfView1.FitMode := pfmFitToWidth;
end;
procedure TForm1.miGoToPageClick(Sender: TObject);
var S: string;
begin
S := IntToStr(PdfView1.PageNumber);
if InputQuery('Go to page', 'Page number:', S) then
PdfView1.PageNumber := StrToIntDef(S, PdfView1.PageNumber);
end;