動作環境
C++ Builder XE4
状況
- とある画像関連のSDKを使用
- HWND型変数を渡す
- 渡したHWNDのFormに対して描画を行う
- 渡したHWNDのFormが常に前面に出るようになった
- マウスクリックで別のFormをクリックしても、そのFormが前面に出ない
効果があった方法
プロジェクトの.cppに対して以下とする。
Application->MainFormOnTaskBar = false;
参考: Top > コンポーネント > フォームの重なり順序を変更する方法は? @ C++ Builder / Turbo C++ 質問の木
の 山本隆さんの回答。
情報感謝です。
効果がなかった方法
// 以下の対策をしたが効果はなかった
// SetWindowPos(Handle,HWND_TOPMOST,0,0,0,0,SWP_NOSIZE | SWP_NOMOVE);
//
// 効果なし
// this->SetFocus();
//
// 効果なし
// EnableWindow(0, true);
//
// 効果なし
// SetWindowPos(previewHwnd, HWND_NOTOPMOST,0,0,0,0,SWP_NOSIZE | SWP_NOMOVE);
//
// 効果なし
// PreviewForm->FormStyle = fsNormal;