0

それで、さまざまなコマンドを使用してテキストボックスにテキストを設定することについて、stackoverflow でおそらく 5 から 10 の質問を見てきました。EM_SETSEL と EM_REPLACESEL を使用した SetWindowText、SendMessage、および頭の中で考えられない他のいくつかを試しました。1 つの奇妙な出来事を除いて、ほとんどの場合、私は成功しています。

この特定のテキスト ボックスのテキストを設定すると、何も表示されず、何も変化しません。最初は、データを正しく設定していないと思いました。ただし、Spy++ または Winspector を使用してテキスト ボックスのテキストを表示すると、変更を加えた正しいデータがそこにありますが、実際のテキスト ボックスには表示されません。さらに奇妙なことに、「編集」したテキストボックスでフォームをクリックして戻すと、spy++ と Winspector のデータがテキストボックスに表示されているものに変わります。

友人と話したところ、競合状態である可能性があるとのことでした。このボックスを編集しようとしていますが、テキストボックスは他のスレッドによっても編集されています。

誰かに提案があれば、本当に感謝しています。

編集:わかりましたので、テキストが元に戻る問題の原因をさらに掘り下げました。Winspector を開いて、テキストボックスを監視させました。そこから、テキスト データが最後に正しくなってから最初に変更されるまでの間に、ウィンドウに送信されたメッセージを特定できました。また、パラメーターを使用して結果を xml ドキュメントにエクスポートしましたが、長さは約 680 行です。

メッセージのリストはこちら: http://i.imgur.com/SBCFHK8.png

4

1 に答える 1