0

私のアプリケーションでは、常に開いたり閉じたりするダイアログがたくさんあります。ダイアログは非モーダルです。一部のパフォーマンスを節約するために、より複雑なコントロールの一部を「リサイクル」しています。1 つのダイアログが閉じられると、コントロールは破棄されませんが、別のダイアログが開かれたときに再利用できるように、それらのポインターは配列に格納されます。
問題は、コントロールが新しいダイアログに配置された後、すべてのメッセージを受信しないことです。たとえば、メッセージWM_DRAWITEM(コントロールは から派生CListCtrl) はもう送信されていません。一方WM_LBUTTONDOWN、まだ到着しています。コントロールがそのクラスを認識していないかのようです。NC 領域 (ボーダーとリスト ヘッダー) は正しく描画されています。
誰かが同様の問題を抱えていましたか?何が間違っている可能性がありますか?この方法で、コントロールを「切り離して」「再接続」することはできますか?

4

1 に答える 1