掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
OpenDialogを上位で表示するには (ID:33496)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Mr.XRAYです. 文章が読みづらいので書き直しました. 以下でいいでしょうか. 環境はWindows Vista + Delphi 2007 1. 新規プロジェクト作成 このFormをFormMainとする FormStyle := fsStayOnTop; ボタンを1つ配置 2. Formを追加.FormSubとする このFormSubのFormSytleはfsNormal ボタンとTOpenDialogを各1つ配置 3. 以下のボタンクリックコードを実行する FormMainではボタンクリックでFormSubをShowMadalで表示 usseにFormSubのユニット名が必要 ([ファイル][ユニットを使う]で追加可能) procedure TFormMain.Button1Click(Sender: TObject); begin FormSub.ShowModal; end; 表示したFormSubでボタンクリックでOpenDialogを表示 すると,OpenDialogが後(どこの?)に隠れてしまう. procedure TFormSub.Button1Click(Sender: TObject); begin if OpenDialog1.Execute then begin end; end; もしかしたら以下でOpenDialogが最前面に表示されるかも知れません. 動作確認は,Windows Vista + Delphi 2007-R2 Pro これはVista特有の現象です. Windows XP上で作成したEXEは,Vista上ではTrueでもFalseでも同じです. なお,FormMainでForsub.ShowModalとしているのは, FormMainのFormStyleがfsStayOnTopとなっているためです. このままでFormSubをShowすると,FormSubがFormMainの後に(Zオーダで)いってしまいます. [プロジェクト][ソース表示]で以下のTrueの部分をFalseにする. Application.MainFormOnTaskbar := True;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.