property ShowHint: Boolean; // published, inherited from TControl
ShowHint 控制当鼠标停在查看器上时,框架是否显示由 Hint 描述的提示。它与同样是 published 的 ParentShowHint 共同构成标准的 VCL/LCL 提示管线:当 ParentShowHint 为 True 时,值会从父窗体或面板继承;当它为 False 时,局部的 ShowHint 取胜
在 PDF 阅读器中,提示最常用于传达动态状态:显示光标下的页面标签(由 OnMouseMove + DeviceToPage 计算)、光标下 Web 链接的 URL,或当前工具栏的键盘快捷键。宿主窗体的 OnShowHint 事件可以在显示前最后一次改写提示文本
当查看器是 kiosk 风格应用的焦点元素,而弹出提示会分散用户注意时,禁用提示会很有用。该属性只会抑制气泡显示,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;