LoginSignup
0
0

More than 5 years have passed since last update.

C++ Builder > Form > マウスクリックしても他のフォームが常に前面になる場合の対策

Last updated at Posted at 2017-06-21
動作環境
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;
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0