0

タブコントロールを備えたアプリケーションを開発しています。タブ内のアイコンをクリックすると、ポップアップウィンドウが開き、タブの内容がポップアップウィンドウに移動します。

私がすることは簡単です-タブ内の各コントロールの親をポップアップウィンドウに変更します(SetParent()を使用)。リストビューコントロール(仮想リストビュー)を除いて、すべてがうまく機能します。

親を変更した後、リストビューはWM_NOTIFY通知を送信しなくなりました。

非仮想リストビューでもテストしましたが、同じことが起こります。

私はグーグル中を検索して何も思いつかなかったので、どんなアイデアでもいただければ幸いです。

アップデート

親を変更した後、リストビューはWM_NOTIFY通知を前の親に送信し続けます。これは一般的なコントロールのバグですか?

4

1 に答える 1

2

多くの共通コントロールは、作成時に親をキャッシュします。最初に適切な親を使用して作成する以外に、これについて実際にできることは何もありません。

回避策の 1 つは、問題のコモン コントロールをホストするだけのダミー ウィンドウ クラスを登録し、そこにメッセージを送受信することです。次に、コントロール自体ではなく、そのウィンドウの親を変更できます。

于 2013-03-22T11:23:42.497 に答える