[常に最上位]にしてダイアログを出すと操作不能になる

  1. [ウィンドウ]-[常に最上位]として、エディタ画面を最前面にしておくと、
    ダイアログを出したときに表示されたダイアログがエディタ画面よりも
    背後に回ってしまって操作不能になることがあるみたいです。

    オプションダイアログとか、印刷ダイアログなど。
    たまたま前に出たときでも、さらに子ダイアログを出すと
    それが背後に回ったり。
    オプション->文字色とか、印刷->プレビューなど。

     |  petit  |  返信
  2. > オプションダイアログとか、印刷ダイアログなど。
    > たまたま前に出たときでも、さらに子ダイアログを出すと
    > それが背後に回ったり。
    > オプション->文字色とか、印刷->プレビューなど。

    非公式(ryです
    なるほど、最初lの部分でわからなかったのですが後半で意味を理解しました。
    暫定の逃げる技を提示しておきます。

    ダイアログの真裏に子ダイアログが出てしまった場合「ATL+スペース」で移動してやってください
    とりあえず逃げることができます。

    あとはkuroさん次第かなw

     |  MOON  |  返信
  3. > petit さん

    ご報告ありがとうございます。
    現象確認しました。これはちょっと悲しくなってしまう問題ですね・・・。
    調査してみます!

    > MOON さん

    ご対応いただきありがとうございます。(朝はやっ!)
    なるほど、ALT + スペースで裏画面をどこかに移動、、、できたっ。

    > あとはkuroさん次第かなw

    はい、、、解決策がまったく思いつきませんが。

     |  Kuro  |  返信
  4. フォーム開くときOwner指定してもこうなってますか?
    指定していないようならそこかも。指定してたら難しそうですね。。。

     |  shu  |  返信
  5. もちろんOwnerは指定しているのですが、タブ有効時と無効時に本来オーナになるべき
    フォームが変わっちゃうからっぽいです。

    なんとかこれは修正できそうなのですが、、、

    タブ無効時に常に最上位にしておいて、後ろにあるフォームでモダルダイアログ呼び出したら
    これはもうどうしようもないですね。。。
    Delphiのモダルダイアログって他が完全に操作不能になっちゃいます。。。

     |  Kuro  |  返信
  6. 最上位指定がどこかのWindowでされているとき、ダイアログ表示時に一時的に最上位にしてダイアログ閉じたら状態復帰なんてのはどうでしょう?

     |  shu  |  返信
  7. > miso さん

    > WS_EX_TOPMOST指定して無理矢理最前面に持ってくるか、
    > いっそモーダルダイアログじゃなくて普通のダイアログにしちゃうか・・・
    > どっちもアレだなぁw

    すっごい悩んでます・・・、いまだ解決策見つからず。。。
    モダルダイアログをやめるってのも考えたんですが、オプション画面とかはOKなんだけど、
    ファイルを開くとかの標準ダイアログは完全にDelphiの中の人がやってるみたいなので、
    手のつけようがありませんでした。。。グフ。

    > shu さん

    > 最上位指定がどこかのWindowでされているとき、ダイアログ表示時に一時的に最上位にして
    > ダイアログ閉じたら状態復帰なんてのはどうでしょう?

    TeraPadの動作を見てみたら、こちらは逆転の発想で一時的に最上位を解除してるみたいでしたので、
    Meryでも実装してみたところ、スゲーチラツキましたw

    shu さんの案ならチラツキは無さそうですので、ちょっと試してみます。
    ただ、ウィンドウをたくさん開いていると、そんだけチェックの数が増えるのでレスポンスに影響しないか心配ですが、、、

    ご協力ありがとうございます!

     |  Kuro  |  返信
  8. shuさん作戦、成功かも!?

     |  Kuro  |  返信
  9. だめでした・・・。
    完全に詰みです(涙
    残された方法は、「常に最上位」機能削除・・・。グフ。。。

     |  Kuro  |  返信
  10. WS_EX_TOPMOST指定して無理矢理最前面に持ってくるか、いっそモーダルダイアログじゃなくて普通のダイアログにしちゃうか・・・
    どっちもアレだなぁw

     |  miso  |  返信
スポンサーリンク