ApplyEditHistory

フォーム、インタラクション、編集履歴

説明

TPDFlibFormSessionの内部ヘルパーで、保持された履歴エントリをちょうど1件リプレイし、UndoEditとRedoEditを支えます

取り消しでは、エントリの挿入テキストが開始インデックスにまだ存在することを検証し、削除テキストを差し戻して、変更前に記録されたアンカーとキャレットの位置を復元します。やり直しでは、削除テキストを検証し、挿入テキストを差し込んで、変更後に記録された位置を復元します

検証または復元される選択範囲の境界が失敗した場合、呼び出しは状態に一切触れずに0を返します

リプレイは一時値、表示値、方向付き選択を更新し、キャッシュされたUnicode境界テーブルを再構築し、Modifiedを再計算して、履歴位置を移動します

操作全体は履歴適用ガードの内側で実行されるため、フォームアクションもホストの編集コールバックも再ディスパッチされません

宣言

function ApplyEditHistory(Undoing: Boolean): Integer;

パラメータ

UndoingTrueは現在の履歴位置より下のエントリを取り消し、Falseはその上のエントリを再生します

戻り値

エントリが再生された場合は1を返します。呼び出しが再入された、編集がアクティブでない、要求された方向で利用可能なエントリがない、または検証に失敗した場合は0を返します

関連項目

UndoEdit, RedoEdit, CanUndoEdit, CanRedoEdit, AddEditHistory, ClearEditHistory, EditValue, TPDFlibFormSession