function FormUndo: Boolean;
FormUndo는 PDFium의 FORM_Undo entry point를 감싼 고수준 wrapper입니다. PDFium API는 unit 수준에서 이미 연결되어 있었지만 v1.23.0 전까지는 고수준 accessor가 없었습니다. 이 method는 application에 widget별 undo를 노출합니다
각 AcroForm widget은 PDFium의 form-fill engine 안에서 자기 own undo / redo stack을 유지합니다. text field 입력, 문자 삭제, paste, autocomplete처럼 모든 변경이 새 undo entry가 됩니다. FormUndo는 FOCUSED widget에서 한 단계만 되돌리며, 여러 widget을 한꺼번에 되돌리지는 않습니다
성공하면 True를 반환하고, 되돌릴 것이 없거나(focused widget의 undo stack이 비어 있거나) view가 비활성 상태이거나 포커스된 widget이 없으면 False를 반환합니다. Undo menu item의 Enabled 상태를 제어하려면 FormCanUndo와 함께 사용하세요
procedure TForm1.miUndoClick(Sender: TObject);
begin
if PdfView1.FormCanUndo then
PdfView1.FormUndo;
end;
procedure TForm1.miEditMenuClick(Sender: TObject);
begin
miUndo.Enabled := PdfView1.FormCanUndo;
miRedo.Enabled := PdfView1.FormCanRedo;
end;