2011-08-07 12 views
0

私はMFCで構築されたプログラムに取り組んでいます。MFC aero shake windowメッセージ

CFormViewを振ると、私はこの奇妙な状況に陥ります。最初はすべてが最小限に抑えられていますが、すべてのウィンドウが復元されている間に2回目を振ると、私のCDialogのうちの1つがCFormView内にありますが、前面に表示されます。

2回目の揺れのイベントをキャッチするにはどうすればよいですか? CDialogにどのようなメッセージが送信されますか?

メッセージマップで宣言できるものはありますか?

インターネットで何も見つかりませんでした。

+0

あなたのCDialogは、そのhwndOwnerとしてCFormViewを設定していないと思います。 2つのウィンドウが所有者/所有関係によって関連付けられていない場合は、一方が他方の上に表示されるという要件はありません。ウィンドウ間の順序付けを強制するには、オーナーチェーンを使用します。 –

答えて

0

私の解決策が見つかりました。

私は上の私の指を置くことができる任意のメッセージを見つけることができませんでしたが、 "MoveDialog" の私の機能

に私が使用: SetWindowPos(&wndNoTopMost,x,y,cx,cy,SWP_NOSIZE|SWP_SHOWWINDOW);

をMSDNによる& wndNoTopMostは次のとおりです。

wndNoTopMostウィンドウを、すべての非トップウィンドウ(つまり、すべての最上部ウィンドウの背後)の上に再配置します。このフラグは、ウィンドウがすでにトップではないウィンドウの場合は無効です。

これは私の問題を解決した方法です。

ありがとうございました!

関連する問題