Form Close |
答題得分者是:mieng
|
jason_cyl329
高階會員 發表:123 回覆:155 積分:105 註冊:2003-05-26 發送簡訊給我 |
請問:程式碼如下:
Form2的Formstyle = fsStayOnTop;
Timer1->Interval = 5000;
這各程式的動作是,正常執行後,Form2在Form1的上面,經過5 sec後,
Form2會自動關閉,可是如果操作的方式改成在Form2還未關閉前,按下右上角的
系統鍵,將Form1最小化,過5sec後在將他還原,Form2就關不起來了,為什麼?
//--------------------------------------------------------------------------- #include
|
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
試試
Form2->Show(); 改成 Form2->ShowModal();另外,將 Form2 的 BorderStyle 設為 bsNone 這樣,只要 Form2 秀出來,使用者就不能操作 Form1 同時 Form2 也沒有系統鍵給使用者按。 另外,也可以試試在 Timer1Timer 內加上一個旗標, 表示 Form2 應該要關閉了, 而另外寫 Form1 的 OnActive 的事件,判斷如果該旗標為 Form2 應該要關閉,則再關閉一次 Form2 即可。 沒空更新的網頁... http://dllee.ktop.com.tw C及指標教學,計算機概論,資訊管理導論... http://dllee.adsldns.org 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com |
jason_cyl329
高階會員 發表:123 回覆:155 積分:105 註冊:2003-05-26 發送簡訊給我 |
|
mieng
中階會員 發表:12 回覆:97 積分:81 註冊:2003-10-31 發送簡訊給我 |
查一下BCB OnClose 的說明,最小化似乎也是Close的一種,
當您預設的五秒過後,系統認為您的Form2己關閉,使得Close()失效,
直接的解決方式,在Close()前先讓他再Show()一次,就可以關閉了。 您可以試著在Form1上加一個Button
void __fastcall TForm1::Button1Click(TObject *Sender) { Form2->Show(); }當Form2無法關閉時,按下Button,Form2就可以關閉了 學習中請大家多多指導呦~~ ☆星霧☆(Mineg Chien WU) |
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
void __fastcall TForm1::Button1Click(TObject *Sender) { Timer1->Enabled = true; Form2 = 0; Form2 = new TForm2(this); Form2->Show(); } //--------------------------------------------------------------------------- void __fastcall TForm1::Timer1Timer(TObject *Sender) { if (Form2) delete Form2; }不知您所提的"關閉"是隱藏還是真的關了(清除記憶體)。若非穩藏那上面的程式應該可以work。 我稍有去deassemble你說的程式…若要被close的form非主form,則會經過hide,set visiable 等過程…並沒有destory。而且timer無論form1有無縮小也確實都有去run這個event handler。下面的程式是若你要的是"隱藏"。 //--------------------------------------------------------------------------- void __fastcall TForm1::Timer1Timer(TObject *Sender) { if ( ! Form2->Visible) Form2->Visible = true; Form2->Close(); }
------
蕭沖 --All ideas are worthless unless implemented-- C++ Builder Delphi Taiwan G+ 社群 http://bit.ly/cbtaiwan |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |