TMemo(および他の同様のコントロール)にはOnChangeイベントしかないという事実が、私はいつも盗聴されていました。私は、テキストがプログラムによって変更されたときではなく、ユーザーがテキストをいつ変更したかを知りたいと思います。あなたがプログラムでテキストを変更する前に= NIL:OnChangeイベント入れユーザーがいつTMemo/TEditのテキストを変更したかを知るには?
- :
は、私は2つの方法は、ユーザーがテキストとプログラムで変更テキストを変更を区別するために知っています。その後、OnChangeを復元します。これは、コードからテキストを変更するたびに(そしてメモ/編集でこの特別な処理を適用する必要がある)毎回行う必要があるため、エラーが発生しやすくなります。 OnChangeが呼び出されるたびに、コントロールがユーザーによって編集されたことがわかりました。
- OnKeyPress、MouseDownなどのイベントをキャプチャします。テキストが実際に変更されたかどうかを判断し、ユーザーがextを編集したときに呼び出される必要があるコードを手動で呼び出します。これは、既に大きなファイルに大きな量の手続きを追加する可能性があります。
もっとエレガントな方法がありますか?
貼り付けによる変更はどうなりますか?またはオートメーションから?入力内容やアプリケーションコードだけではなく、コンテンツを変更できることがたくさんあります。 –
これは質問を呼び起こす - それはなぜ重要なのでしょうか?多分あなたは間違った問題を解決しようとしています。 –