私は Scintilla (実際には ScintillaNET ですが、バニラの Scintilla に関する情報も役立つ可能性があります) を使用してテキスト エディターを作成しています。このエディターでは、変更情報を余白に表示したいと考えています (たとえば、テキスト行を変更すると、その行には自分の名前が余白に表示されます)。行の変更時にマージンを変更することができましたが、誰かが変更を元に戻した場合にマージンの変更を元に戻す良い方法がわかりません。
BeforeTextInsert イベントで BeginUndoAction を呼び出し、TextInserted イベントの最後で EndUndoAction を呼び出してみましたが、マージンの変更を元に戻すことができないようです。マージンの変更を元に戻す適切な方法はありますか? 独自の小さなマージン取り消しスタックを実装する (または Scintilla の取り消しスタックを変更する) 必要があるかもしれないと考えています。