「常に前面に表示」の処理の仕方は?

解決


Gach  2003-07-18 23:25:50  No: 4172

毎回お世話になっています。

「常に前面に表示」のON/OFFを出来るようにしているのですが、fsStayOnTopを
ONにしている状態でShowModalで設定ウィンドウなどを表示させると、すべての
ウィンドウが最前面に来なくなってしまいます。
ApplicationEventsを利用して前面に出し続ける方法もやってみたのですが、
これだと設定にかかわらず常に最前面に出るようになってしまい、うまく動作
しませんでした。
「常に前面に表示」がONになっている時だけ全てのウィンドウを最前面に出す
にはどうすればよいのでしょうか?
ご教授ください。


シュークリーム  2003-07-19 04:30:52  No: 4173

他に良い手があるかもしれませんので、
私が以前しようしたのは
SetWindowPos という関数です。
これを使用して要所で設定すれば可能です.

>「常に前面に表示」がONになっている時だけ全てのウィンドウを最前面に出す
>にはどうすればよいのでしょうか?
これを実現するには
フラグを見ながら各フォームでSetWindowPosを設定すれば可能


Gach  2003-07-19 06:48:08  No: 4174

シュークリームさんありがとうございます。
色々やってみたんですが、SetWindowPosをどのタイミングで設定すれば
良いのかよく分かりません。
ApplicationEventsのDeactiveを使う以外に何かないでしょうか?


シュークリーム  2003-07-23 18:49:51  No: 4175

私はShowModalを呼びだした元のフォームの
OnActiveで呼びだすようにしました。
他にはタイマーを使用して定期的に呼びだす
という手も考えられますが


Gach  2003-07-23 20:32:01  No: 4176

シュークリームさんありがとうございます。

何とか考えているような動作が出来そうです。
一応、解決としたいと思います。
ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加