線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1149
推到 Plurk!
推到 Facebook!

請問如何不用"X"來關閉程式

答題得分者是:gemi0305
aredfish
一般會員


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

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-01-23 12:33:59 IP:210.244.xxx.xxx 未訂閱
大家好,我的程式中想用另外一個按鈕來關閉程式 想請教一下大家如何實現?? 另外,如果要同時出現對話框的話(有Yes No可以選的那種) 那我應該要在OnClick的事件裡面增加什麼樣的函數呢?? 心想事成 謝謝大家 發表人 - Gemi0305 於 2004/01/23 15:07:52
gemi0305
版主


發表:81
回覆:564
積分:629
註冊:2003-05-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-01-23 14:06:48 IP:61.224.xxx.xxx 未訂閱
試試看:
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
     if (MessageBox(Application->Handle,"是否關閉視窗?","提示",MB_YESNO)==IDYES)
         Application->Terminate();    } 
國泰平安
kj68215
初階會員


發表:47
回覆:91
積分:27
註冊:2003-08-09

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-01-26 17:03:30 IP:61.231.xxx.xxx 未訂閱
若直接用Button當作關閉程式的話. 有一個更快的方法!
void __fastcall TForm1::Button1(TObject *Sender)
{
Colse();
}
----------------------- 請多多指教啦!!^^
------
-----------------------
請多多指教啦!!^^
dra
一般會員


發表:1
回覆:8
積分:1
註冊:2004-01-03

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-01-27 18:29:29 IP:61.224.xxx.xxx 未訂閱
Close() 應該只是關閉一個 Form 不是關閉整個程式
kj68215
初階會員


發表:47
回覆:91
積分:27
註冊:2003-08-09

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-01-28 00:13:11 IP:61.231.xxx.xxx 未訂閱
引言: Close() 應該只是關閉一個 Form 不是關閉整個程式
是這樣呀? 不過小弟試的結果,都一樣耶! 只是跟前者差別在於有"是否關閉視窗?"的對話框訊息. 至於不是跟您所說的是"關閉一個 Form",那小弟不清楚了! ----------------------- 請多多指教啦!!^^
------
-----------------------
請多多指教啦!!^^
ENIX007
高階會員


發表:28
回覆:274
積分:185
註冊:2003-11-27

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-01-29 08:44:56 IP:210.243.xxx.xxx 未訂閱
aredfish您好 符合您的標題,小弟在此補充一下 在Form的OnCloseQuery中,利用引數CanClose可以設定"不准"用X來關閉這個Form...  
 void __fastcall TForm1::FormCloseQuery(TObject *Sender, bool &CanClose)
{
    CanClose = false;
}
此時使用者就必須利用其他途徑來關閉程式,例如您說的Button... 參考看看 程式迷人之處,在於邏輯思考,然而卻也是惱人之處~~
------
程式迷人之處,在於邏輯思考,然而卻也是惱人之處~~
dra
一般會員


發表:1
回覆:8
積分:1
註冊:2004-01-03

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-01-30 09:40:25 IP:61.224.xxx.xxx 未訂閱
引言: 可能是我打太快了,關閉視窗寫成關閉程式,正確來說應該是"關閉正在Run中的程式視窗",對吧?! 小弟試的結果,達到的效果是一樣的! 只是跟前者差別在於有"是否關閉視窗?"的對話框訊息. 發表人 - >< face="Verdana, Arial, Helvetica"> 關閉主視窗 MainForm 確實是可以達到關閉整個程式的效果 但是如果有多視窗,在其他視窗就必須以 Application->Terminate(); 來關閉整個程式 兩個指令的意義不太一樣 發表人 - dra 於 2004/01/30 09:43:09
系統時間:2024-05-19 1:33:40
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!