0

setFormatOfRange() を使用してテキストのフォーマットを変更するときに変更イベントをリッスンしたいテキスト領域があります。これまでのところ、Event.CHANGE や TextOperationEvent.CHANGE など、私が試した他のすべてのイベントは、実際のテキストが変更されたときにのみディスパッチされます。

私が何を聞くべきか知っている人はいますか?

4

2 に答える 2

2

実際には、書式設定が変更されたときに TextOperationEvent.CHANGE を取得できますが、これは EditManager を使用した場合に限られます。EditManager オブジェクトを作成して TextArea.textFlow.interactionManager に割り当てる必要があり、すべてのフォーマット操作はこの EditManager オブジェクトを介して実行する必要があります。applyFormat などのメソッドがあります。

また、setFormatOfRange の使用はお勧めしません。これは、多数のフォーマット操作ではかなり遅いためです。代わりに、EditManager または ApplyFormatOperation オブジェクトを使用する必要があります。 これは、ApplyFormatOperation オブジェクトの使用方法が説明されている投稿です。

于 2010-08-27T10:09:03.900 に答える
1

TextArea(またはその他のテキスト コントロール) は、テキストの書式設定の変更に対してイベントを発生させません。テキスト変更イベントでさえ、テキストがユーザーによって手動で変更された場合にのみ発生します。プログラムで変更した場合ではありません。

TextOperationEventクラスは、文字の挿入、バックスペース、貼り付け、テキスト属性の変更などのユーザー操作によってテキスト コンテンツが変更されたときに送出されるイベントを表します。

于 2010-07-29T14:04:41.110 に答える