From.Showしなくても表示される?

解決


to  2004-06-09 03:13:08  No: 9354

初歩的な質問で申し訳ありませんm(__)m
MDI親フォームからMDI子フォームをCreateしたいのですが、

frm := Tfrm.Create(Application);
frm.Show;

で表示されるんですよね?

frm := Tfrm.Create(Application);

だけでfrmが表示されちゃうんですので困っています。
何かアドバイスをいただけないでしょうか?


jok  2004-06-09 03:20:26  No: 9355

frm.Hide; を実行してみると理由がわかります。


to  2004-06-09 03:35:10  No: 9356

さっそくありがとうございます。
やってみました。

'MDI 子フォームを隠すことはできません'

ってことは、MDI子フォームの場合は
frm.Create だけで表示しちゃうってことでいいんでしょうか!?


jok  2004-06-09 04:16:04  No: 9357

> frm.Create だけで表示しちゃうってことでいいんでしょうか!?

そうだと思いますよ。逆に、つくっておいて表示しない、という状況が思いつきませんが。


to  2004-06-09 18:42:07  No: 9358

そうなんですか・・・

フォームを作ると同時にフォーム上のデータセットを開くのですが
それがちょっと時間がかかるので、フォームの描画に時間がかかるんです。
間が抜けた感じになるので、データセットが開いた後にfrm.Showさせたい
と思ったんですが。

他の方法で検討するしかないですね。

ありがとうございました。


jok  2004-06-09 19:09:48  No: 9359

Show したあと、カーソルを砂時計にして「いまデータを開いています」と
ダイアログを出しておけばユーザは、間抜けな感じを受けないと思いますが。


  2004-06-09 19:51:57  No: 9360

作成した後、暫く隠しておくには…

  frm := Tfrm.Create(Application);
  ShowWindow(frm.Handle, SW_HIDE);
  // データセットを開く
  // その間 frm はちょっと隠しておく
  // Sleep(5000);
  ShowWindow(frm.Handle, SW_SHOW);


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加