property ShowHint: Boolean; // published, inherited from TControl
ShowHint は、mouse が viewer の上で止まっているときに framework が Hint で説明される tooltip を表示するかどうかを制御します。ParentShowHint (これも published) と組み合わせると標準の VCL/LCL hint pipeline になります。ParentShowHint が True のときは値が parent form/panel から継承され、False のときは local の ShowHint が優先されます
PDF reader では、hint は動的 state を伝えるためによく使われます。OnMouseMove + DeviceToPage で計算した cursor 下の page label を表示したり、cursor 下の web link の URL を表示したり、active toolbar の keyboard shortcut を表示したりします。OnShowHint は host form の event で、表示直前に hint text を書き換えられます
viewer が kiosk-style application の主役で、pop-up が user を邪魔する場合は hint を無効にすると役立つことがあります。この property は balloon だけを抑制し、Hint string は code から引き続き参照できます
ParentShowHint = True の場合の既定値は False で、form の ShowHint が動作を決めますOnMouseMove と DeviceToPage を組み合わせると、Hint を動的に更新できます。たとえば page label や cursor 下の web link の destination を表示できますParentShowHint := False と ShowHint := True を設定してください
// Show the page label under the cursor as a tooltip
procedure TForm1.FormCreate(Sender: TObject);
begin
PdfView1.ShowHint := True;
PdfView1.OnMouseMove := PdfView1MouseMove;
end;
procedure TForm1.PdfView1MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
var PageNo: Integer;
begin
if PdfView1.PointToPage(Point(X, Y), PageNo) then
PdfView1.Hint := 'Page ' + IntToStr(PageNo) + ' / ' +
IntToStr(PdfView1.Pdf.PageCount);
end;