いつもお世話になってます。
メインフォームのForm1の画面が表示される前に、Form2を表示させ、Form2のOKボタンでForm1画面を表示させ、Form2のキャンセルの場合には、プログラムを終了させるべく下記のようなコードを書きました。
OKボタンの場合には問題ないのですが、キャンセルの場合には一瞬Form1の画面が表示された後にプログラムが終了します。このようなコードの書き方では当り前のような気がしますが、Form2のキャンセルボタンの場合に全くForm1が全く表示させずに終了する方法を教えて欲しいのですが、よろしくお願いします。
procedure Form1.FormCreate(Sender: TObject);
begin
Form2:= TForm2.Create(Self);
if Form2.ShowModal=mrOK then begin
//ある一定の作業をおこなう
end
else Application.Terminate;
end;
> メインフォームのForm1
Form1をメインフォームにしなければよいのでは。
procedure Form1.FormCreate(Sender: TObject);
begin
// ここに Hide, Minimaized, Widthゼロ/Heightゼロ等を
// 入れてみたらどうでしょう?
Form2:= TForm2.Create(Self);
if Form2.ShowModal=mrOK then begin
//ある一定の作業をおこなう
end
else Application.Terminate;
end;
Application.ShowMainForm := False;
でどうでしょう。
皆様ありがとうございました。
かみづさんの回答でうまくいきました。
本当にありがとうございました。
ツイート | ![]() |