關閉程式前如何判断是否已存檔? |
答題得分者是:HomeSound
|
e_snare
一般會員 發表:26 回覆:35 積分:12 註冊:2004-03-14 發送簡訊給我 |
|
HomeSound
中階會員 發表:44 回覆:178 積分:94 註冊:2002-08-31 發送簡訊給我 |
void __fastcall TForm1::FormCloseQuery(TObject *Sender, bool &CanClose) { if(RichEdit->Modified) { if(Application->MessageBox("文件內容已修改要儲存嗎?",""離開對話盒",MB_YESNO)==IDYES) CanClose = true; else CanClose = false; } }請參考看看 --==多看.多學.多聽==--
------
--==多看.多學.多聽==-- |
g6101
高階會員 發表:22 回覆:129 積分:110 註冊:2002-06-15 發送簡訊給我 |
e_snare您好:
請參考以下(程式關閉為例/TRichEdit元件)程式碼.
void __fastcall TMainForm::FormCloseQuery(TObject *Sender, bool &CanClose)
{
int flags;
MessageBeep(0);
if (MessageBox(MainForm->Handle,"您確定要離開(確定/取消)?","訊息提示!!",MB_ICONASTERISK|MB_OKCANCEL) != IDOK) {
CanClose = false ;
return ; } if (RichEdit1->Modified){//判斷(RichEdit1)內容是否被修改
MessageBeep(0);
flags = MessageBox(MainForm->Handle,"內容已更動,儲存(是/否)?",FileName.c_str(),MB_ICONQUESTION | MB_YESNO);
if (flags == IDYES) {
//加入所要處理的程式
}
}
}
希望對你有幫助
|
e_snare
一般會員 發表:26 回覆:35 積分:12 註冊:2004-03-14 發送簡訊給我 |
|
e_snare
一般會員 發表:26 回覆:35 積分:12 註冊:2004-03-14 發送簡訊給我 |
目前為止測試都很正常
但有個地方一直弄不清楚 例如現在是一個新檔案,我打了幾個字,然後先存檔,然後再關閉程式,
結果還是會跳出對話框!我都存檔了,它還判断為欄位有修改過!! 不過如果是叫出一個舊檔,直接按存檔或直接關閉程式,都是很正常的,不會有對話框,直接關閉程式! ..... AnsiString SaveFileName ==""; ..... void __fastcall TMainForm::FormCloseQuery(TObject *Sender, bool &CanClose)
{ if(SaveFileName != "")
{
if((RichEdit1->Modified) || (RichEdit2->Modified))
{
flags = MessageBox(MainForm->Handle,"內容已更動,儲存(是/否)?",FileName.c_str(),MB_ICONQUESTION | MB_YESNO);
if (flags == IDYES) {
//加入所要處理的程式
}
}
}
} 不知是哪不對了??
|
HomeSound
中階會員 發表:44 回覆:178 積分:94 註冊:2002-08-31 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |