PDFium Delphi Component Docs

Phương thức FormFieldZOrderAt

Component: TPdfView  ·  Unit: PDFium
Trả về thứ tự chồng lớp của trường AcroForm trên cùng bị trúng tại pixel (X, Y) của khung nhìn, hoặc -1

Syntax

function FormFieldZOrderAt(X, Y: Integer): Integer;

Parameters

X, YInteger. Tọa độ pixel tương đối với control trình xem, chính là các tọa độ mà các sự kiện chuột nhận được

Return Value

Integer. Thứ tự z của trường biểu mẫu tại điểm được dò trúng, hoặc -1 khi không trúng trường nào hoặc phép thử không chạy được

Description

Dò trúng một pixel màn hình đối chiếu với các chú thích widget AcroForm của trang hiện tại và báo cáo vị trí chồng lớp của widget trên cùng. Trình xem trước chuyển (X, Y) sang tọa độ không gian trang bằng DeviceToPage, có tính đến Zoom, Rotation, chế độ hiển thị, đệm lề trang và offset cuộn, sau đó gọi FPDFPage_FormFieldZOrderAtPoint của PDFium với handle biểu mẫu của trang

Giá trị trả về lớn hơn nghĩa là widget được xếp gần người xem hơn, tức là được vẽ đè lên các trường có giá trị nhỏ hơn. Z-order ở đây là thứ tự dò trúng trên cùng của chồng chú thích, không phải một chỉ số widget, nên hãy coi các giá trị này là các con số so sánh opaque

Khi một widget biểu mẫu và một chú thích link chồng lên nhau, hãy so kết quả này với LinkZOrderAt: cả hai giá trị đều đến từ cùng một thứ tự chồng lớp chú thích, và giá trị cao hơn chỉ ra chú thích mà PDFium coi là bị trúng tại pixel đó

Bản TPdf tương ứng TPdf.FormFieldZOrderAtPoint(X, Y: Double) bọc cùng một hàm PDFium. Nó nhận trực tiếp tọa độ không gian trang kiểu Double và phát sinh ngoại lệ khi không có trang nào hoạt động hoặc môi trường biểu mẫu chưa khởi tạo, trong khi bản bọc TPdfView thất bại êm và trả về -1

Remarks

Example

procedure TForm1.PdfView1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  FieldZ, LinkZ: Integer;
begin
  FieldZ := PdfView1.FormFieldZOrderAt(X, Y);
  LinkZ := PdfView1.LinkZOrderAt(X, Y);
  if (FieldZ >= 0) and (FieldZ > LinkZ) then
    Caption := 'form field wins the hit';
end;

See Also

LinkZOrderAt, HasFormFieldAt, FormFieldInfoAt, FormFieldTypeAt, DeviceToPage, AllowFormEvents