function ReplaceFormTextAndKeepSelection(const Text: WString): Boolean;
| Text | WString。写入焦点字段当前选中位置的文本;传入空字符串表示删除选中内容 |
通过使用页面的表单句柄调用 PDFium 的 FORM_ReplaceAndKeepSelection,替换查看器活动页面上当前拥有焦点的表单控件内被选中的文本
调用之后替换文本保持选中而不是使选中范围坍缩,因此后续调用可以继续覆写或扩展它。这符合原生文本控件的输入模型,适合输入法组词或预测文本这类增量式、由代码驱动的输入
传入空字符串会删除当前选中内容;封装层会传入指向 NUL 宽字符的指针,因此 PDFium 永远不会收到 nil 缓冲区
成功时关联的 TPdf 页面场景会失效并触发视图重绘,因此新的字段值立即可见
permFillForms 或 permModify 权限、没有控件拥有焦点,或焦点控件位于其他页面时,返回 False 且不触碰文档fiTextField,或带有 ffChoiceEdit 标志的 fiComboBox,且不得携带 ffReadOnlyFormHandle,而不是受 AllowFormEvents 门控的输入路径,因此在关闭用户表单输入时程序化编辑仍然可用// 覆写焦点字段中被选中的字符,
// 并保持插入内容选中以便下一步操作
if PdfView1.FocusedFormFieldText <> '' then
PdfView1.ReplaceFormTextAndKeepSelection('NEW');