こんにちはすべてデルファイのプログラムの開始時にポップアップフォームを作成するには?
アプリケーションを実行するときに、メインフォームの上にそのオプションフォームを表示したいとします。では、最初にバックグラウンドでメインフォームのオプションフォームを表示するにはどうすればよいですか?
ありがとうございました。
こんにちはすべてデルファイのプログラムの開始時にポップアップフォームを作成するには?
アプリケーションを実行するときに、メインフォームの上にそのオプションフォームを表示したいとします。では、最初にバックグラウンドでメインフォームのオプションフォームを表示するにはどうすればよいですか?
ありがとうございました。
としてメインフォーム上のメッセージハンドラを追加します。他のアプリケーションのフォームが閉じてメインのものが再びアクティブになったときに発火するのを防ぐために、いくつかのコードでラップする必要があります。
procedure TForm1.FormActivate(Sender: TObject);
Const
{$J+}
SettingsShown : Boolean = false;
{$J-}
begin
if SettingsShown = false then
begin
Form2.ShowModal;
SettingsShown := True;
end;
end;
ありがとうBrian .. – naren
私はノンモーダルフォームが自動的にポップアップされたフォームの方が良いと思います。モーダルフォームを使用する場合は、恐ろしいZ-修正があるDelphiのバージョンを持っていない場合(修正プログラムを使用する、ウィンドウのPopupParentを設定する)、または回避するために特別なコードを記述しない限り、バグを注文してください。 –
代わりのConst AM_ShowOptionForm = WM_APP +1
とポストバックメインフォームへのメッセージのようなカスタムメッセージを作成OnCreate
でOptionForm.ShowModal
またはOnShow
を使用。
OnActivate
を使用することはでき
Procedure RecieveOptionFormMessage(var Msg:TMessage); Message AM_ShowOptionForm
begin
OptionForm.ShowModal;
end;
メインフォームのそのようなポップアップフォームはバックグラウンドで表示されます。 – naren
メインフォームのOnCreateまたはOnshowイベントでオプションフォームを作成しようとしましたが、オプションフォームのみが表示されます。 :( – naren