PDFium Delphi Component Docs

FormFieldZOrderAtPoint Método

Componente: TPdf  ·  Unidade: PDFium
Aplica um teste de hit a uma coordenada em espaço de página contra os campos de formulário interativos e retorna a ordem z do widget que cobre esse ponto

Syntax

function FormFieldZOrderAtPoint(X, Y: Double): Integer;

X, YDouble. Ponto em unidades de página PDF, com a origem no canto inferior esquerdo da página.
ResultInteger. A ordem z do widget de campo de formulário que cobre o ponto, conforme relatado pelo teste de hit nativo, ou -1 quando nenhum widget o cobre.

Description

Contraparte para campos de formulário de LinkZOrderAtPoint. O teste de hit passa pelo ambiente de preenchimento de formulários (FPDFPage_FormFieldZOrderAtPoint) e retorna a ordem z do widget cuja área cobre a coordenada, de modo que widgets sobrepostos sejam resolvidos da mesma forma como o PDFium os resolve ao rotear a entrada do mouse

A chamada exige que o ambiente de preenchimento de formulários esteja inicializado para o documento; quando não está, um EPdfError com a mensagem Form fill environment is not initialized é disparado. A página atual também deve estar ativa

Para consultas tipadas use FormFieldTypeAtPoint, que também informa o tipo do campo, ou HasFormFieldAt para uma verificação de presença. Converta a posição do mouse em unidades de página com DeviceToPage antes de chamar

Remarks

Example

var PX, PY: Double;
begin
  if Pdf1.DeviceToPage(MouseX, MouseY, 0, 0, W, H, ro0, PX, PY) then
    if Pdf1.FormFieldZOrderAtPoint(PX, PY) >= 0 then
      Cursor := crIBeam; // a form widget is under the mouse
end;

See Also

FormFieldTypeAtPoint, HasFormFieldAt, LinkZOrderAtPoint, DeviceToPage