TPopupMenu till PDF-visaren så att högerklick på en sida visar en snabbmenyproperty PopupMenu: TPopupMenu; // published, inherited from TControl
Att ställa in PopupMenu kopplar visaren till en TPopupMenu-komponent placerad på samma formulär. När användaren högerklickar (eller trycker på tangentbordets menyknapp) inne i visaren visar VCL/LCL automatiskt menyn vid markörpositionen — programmet behöver inte hantera WM_CONTEXTMENU själv
En typisk snabbmeny i en PDF-läsare erbjuder poster som Kopiera markerad text, Zooma in, Zooma ut, Anpassa till bredd, Rotera, Gå till sida…, Sök… och Spara som…. Menyposterna läser eller skriver vanligtvis publika egenskaper som CurrentCharIndex, Zoom, FitMode, Rotation och PageNumber för att arbeta med dokumentet
Eftersom popupen visas via mekanismen OnContextPopup kan du undertrycka eller ersätta den dynamiskt genom att hantera OnContextPopup och ställa in Handled := True — användbart när högerklicket sker över ett formulärfält eller en anteckning som behöver sin egen meny
TPopupMenu-instansen lagras som en komponentreferens i formulärfilenAllowUserTextSelection är FalseTPopupMenu.OnPopup och kontrollerar visarens tillstånd, exempelvis CurrentCharIndex eller 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;