PDFium Delphi Component Docs

Método FormFieldZOrderAtPoint

Componente: TPdf  ·  Unidade: PDFium
Testa uma coordenada do espaço da página contra os campos de formulário interativos e devolve a ordem z do widget que cobre esse ponto

Syntax

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

X, YDouble. Ponto em unidades da 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, tal como reportada pelo teste nativo de colisão, ou -1 quando nenhum widget o cobre.

Description

Contraparte para campos de formulário de LinkZOrderAtPoint. O teste de colisão corre no ambiente de preenchimento de formulários (FPDFPage_FormFieldZOrderAtPoint) e devolve a ordem z do widget cuja área cobre a coordenada, pelo que widgets sobrepostos são resolvidos da mesma forma que o PDFium os resolve ao encaminhar a entrada do rato

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

Para consultas com tipo, use FormFieldTypeAtPoint, que também indica o tipo de campo, ou HasFormFieldAt para uma verificação de presença. Converta uma posição do rato 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