初歩的な質問で申し訳ありませんm(__)m
MDI親フォームからMDI子フォームをCreateしたいのですが、
frm := Tfrm.Create(Application);
frm.Show;
で表示されるんですよね?
frm := Tfrm.Create(Application);
だけでfrmが表示されちゃうんですので困っています。
何かアドバイスをいただけないでしょうか?
frm.Hide; を実行してみると理由がわかります。
さっそくありがとうございます。
やってみました。
'MDI 子フォームを隠すことはできません'
ってことは、MDI子フォームの場合は
frm.Create だけで表示しちゃうってことでいいんでしょうか!?
> frm.Create だけで表示しちゃうってことでいいんでしょうか!?
そうだと思いますよ。逆に、つくっておいて表示しない、という状況が思いつきませんが。
そうなんですか・・・
フォームを作ると同時にフォーム上のデータセットを開くのですが
それがちょっと時間がかかるので、フォームの描画に時間がかかるんです。
間が抜けた感じになるので、データセットが開いた後にfrm.Showさせたい
と思ったんですが。
他の方法で検討するしかないですね。
ありがとうございました。
Show したあと、カーソルを砂時計にして「いまデータを開いています」と
ダイアログを出しておけばユーザは、間抜けな感じを受けないと思いますが。
作成した後、暫く隠しておくには…
frm := Tfrm.Create(Application);
ShowWindow(frm.Handle, SW_HIDE);
// データセットを開く
// その間 frm はちょっと隠しておく
// Sleep(5000);
ShowWindow(frm.Handle, SW_SHOW);
ツイート | ![]() |