掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ON/OFFできる全フォーム最前表示の仕方は? (ID:4827)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
いまいちイメージがうまくできないんですけど、 つまり、Form1を親に、ほかをそれより手前に表示したいということでしょうか? それならば、Form1以外のフォームのCreateParamsメソッドをオーバーライドし、オーナーウィンドウに、Form1のハンドルを指定するとできます。 procedure TModalForm.CreateParams(var Params:TCreateParams); begin inherited; // モーダルダイアログ Params.WndParent := Application.MainForm.Handle; end; こんな感じですね。inheritedは忘れないこと。理由はわかりませんが、Paramsを変更したあとではだめです。 あと、最前面表示ですが、複数のフォームの最前面表示を設定、それも頻繁に設定する場合は、Delphi標準のStayOnTopはあまり使わないほうがいいです(ちらつく&ウィンドウハンドルを作り直すので、APIを使ったときに問題が出る)。 わたしの"おんぷむらのうら"にて公開している"stdDialogs"にある、TopMost関数を使うといいです。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.