毎回お世話になっています。
「常に前面に表示」のON/OFFを出来るようにしているのですが、fsStayOnTopを
ONにしている状態でShowModalで設定ウィンドウなどを表示させると、すべての
ウィンドウが最前面に来なくなってしまいます。
ApplicationEventsを利用して前面に出し続ける方法もやってみたのですが、
これだと設定にかかわらず常に最前面に出るようになってしまい、うまく動作
しませんでした。
「常に前面に表示」がONになっている時だけ全てのウィンドウを最前面に出す
にはどうすればよいのでしょうか?
ご教授ください。
他に良い手があるかもしれませんので、
私が以前しようしたのは
SetWindowPos という関数です。
これを使用して要所で設定すれば可能です.
>「常に前面に表示」がONになっている時だけ全てのウィンドウを最前面に出す
>にはどうすればよいのでしょうか?
これを実現するには
フラグを見ながら各フォームでSetWindowPosを設定すれば可能
シュークリームさんありがとうございます。
色々やってみたんですが、SetWindowPosをどのタイミングで設定すれば
良いのかよく分かりません。
ApplicationEventsのDeactiveを使う以外に何かないでしょうか?
私はShowModalを呼びだした元のフォームの
OnActiveで呼びだすようにしました。
他にはタイマーを使用して定期的に呼びだす
という手も考えられますが
シュークリームさんありがとうございます。
何とか考えているような動作が出来そうです。
一応、解決としたいと思います。
ありがとうございました。
ツイート | ![]() |