全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1200
推到 Plurk!
推到 Facebook!

請問如何在FormCreate結束後再執行程式

尚未結案
aredfish
一般會員


發表:47
回覆:41
積分:17
註冊:2002-12-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-02-12 14:48:20 IP:220.130.xxx.xxx 未訂閱
大家好,請問一下各位大大,我目前有個需求是希望在Form產生之後再執行某一段程式,不是OnCreate哦,是已經將Form產生在畫面上了之後再去自動執行某一段程式, 請問這樣子的一個操作是可行的嗎?? 謝謝大家!!
Ming Lin
一般會員


發表:27
回覆:53
積分:21
註冊:2003-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-02-12 15:07:03 IP:220.130.xxx.xxx 未訂閱
再FormCreate enable 一個可定義時間的Timer 把想自動執行的程式寫在裡面 最後再disable Timer 這樣有符合嗎
kwu
中階會員


發表:10
回覆:57
積分:58
註冊:2003-10-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-02-12 15:24:38 IP:61.63.xxx.xxx 未訂閱
引言: 大家好,請問一下各位大大,我目前有個需求是希望在Form產生之後再執行某一段程式,不是OnCreate哦,是已經將Form產生在畫面上了之後再去自動執行某一段程式, 請問這樣子的一個操作是可行的嗎?? 謝謝大家!!
aredfish你好 可以在 FormShow 時去執行即可, FormShow 為已經將Form產生在畫面上了 再用 Sleep(1000) 函數去延遲時間 1000為1秒 發表人 - kwu 於 2004/02/12 16:02:13
CuteBabyBoy
初階會員


發表:18
回覆:97
積分:48
註冊:2003-07-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-02-12 16:50:04 IP:218.167.xxx.xxx 未訂閱
Dear kwu    據我所知道的,FormShow 這個 Event 是在秀之前所跑的程式碼。您可以試試看以下的範例     
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)
{
}
//---------------------------------------------------------------------------    void __fastcall TForm1::FormShow(TObject *Sender)
{
ShowMessage("ok");
}
//---------------------------------------------------------------------------     
您將會發現它的步驟是 1. 秀出 ok 2. 秀出 Form 而我有個方式可以準確在 From 出現畫面時再去執行某段程式。至於此方式是不是正解,本人不清楚,這是我 Try 出來的,可以參考看看,如果有問題也歡迎大家來討論,方式如下
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
        Show();
        ShowMessage("ok");
}
//---------------------------------------------------------------------------     
Baby
kwu
中階會員


發表:10
回覆:57
積分:58
註冊:2003-10-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-02-12 17:54:23 IP:61.63.xxx.xxx 未訂閱
引言: Dear kwu 據我所知道的,FormShow 這個 Event 是在秀之前所跑的程式碼。您可以試試看以下的範例
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)
{
}
//---------------------------------------------------------------------------    void __fastcall TForm1::FormShow(TObject *Sender)
{
ShowMessage("ok");
}
//---------------------------------------------------------------------------     
您將會發現它的步驟是 1. 秀出 ok 2. 秀出 Form 而我有個方式可以準確在 From 出現畫面時再去執行某段程式。至於此方式是不是正解,本人不清楚,這是我 Try 出來的,可以參考看看,如果有問題也歡迎大家來討論,方式如下
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
        Show();
        ShowMessage("ok");
}
//---------------------------------------------------------------------------     
Baby
CuteBabyBoy 你好: FormCreate 為 Form 要建立時的事件 FormShow 為 Form 秀出時的事件 FormActivate 為 Form 得到焦點的事件 可以用下面的方法試試看,若有不對之處請各位大大多多指教
void __fastcall TForm1::FormCreate(TObject *Sender)
{
  ShowMessage("1");
}
//---------------------------------------------------------------------------    void __fastcall TForm1::FormShow(TObject *Sender)
{
  ShowMessage("2");
}
//---------------------------------------------------------------------------    void __fastcall TForm1::FormActivate(TObject *Sender)
{
  ShowMessage("3");
}
//---------------------------------------------------------------------------
EC
一般會員


發表:0
回覆:3
積分:0
註冊:2003-12-04

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-02-12 18:01:44 IP:218.175.xxx.xxx 未訂閱
如果你的form是程式啟動時自動產生的 那就將動作寫在project source 例如:
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
        try
        {
                Application->Initialize();
                Application->CreateForm(__classid(TForm1), &Form1);
                //...............................
                在這裡補上你要的動作
                  //...............................
                Application->Run();
        }
        catch (Exception &exception)
        {
                Application->ShowException(&exception);
        }
        return 0;
}
 
CuteBabyBoy
初階會員


發表:18
回覆:97
積分:48
註冊:2003-07-11

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-02-12 18:38:00 IP:218.167.xxx.xxx 未訂閱
Dear EC 您的方式雖然是 Create 後去執行,但執行當中 Form 並沒有真正 Run 起來,一切要等到執行 Application->Run(); 時才會看到 Form Baby
系統時間:2024-07-01 16:22:08
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!