property ShowHint: Boolean; // published, inherited from TControl
ShowHint は、マウスがビューアーの上に止まったとき、フレームワークが Hint で記述されたツールチップを出すかどうかを制御します。ParentShowHint(これも published)と合わせて、標準の VCL/LCL ヒントパイプラインを作ります。ParentShowHint が True のときは親フォーム / パネルから値を継承し、False ならローカルの ShowHint が勝ちます
PDF リーダーでは、ヒントは動的な状態の伝達に使うのが定番です。カーソル下のページラベルの表示(OnMouseMove + DeviceToPage で計算)、カーソル下の web リンクの URL、アクティブなツールバーのキーボードショートカットなどです。ホストフォームの OnShowHint イベントなら、表示直前にヒントテキストを書き換えられます
ビューアーが主役のキオスク型アプリでは、ポップアップがユーザーの注意を逸らすため、ヒントを切るのが有効なこともあります。このプロパティが抑止するのはバルーンだけなので、Hint 文字列はコードから引き続き使えます
False で ParentShowHint = True、つまりフォームの ShowHint が挙動を決めますOnMouseMove と DeviceToPage と組み合わせれば Hint を動的に更新できます。たとえばカーソル下のページラベルや web リンクの宛先を表示します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;