chan5287
一般會員
![](./myimg/board/mystar_empty.gif)
![](images/icon_photo_none.gif) 發表:11 回覆:9 積分:4 註冊:2004-11-07
發送簡訊給我
|
我有做了一個結束按鈕,他會檢查
如果妳有修改文字的話,會問妳要不要儲存,
但是我遇到的麻煩是,在視窗中的右上角
有一個X直接關閉的按鈕,我若按那個的話
他就直接關閉,想請問一下,我在FORM的
OnClose的事件當中怎麼樣去編寫,或者
叫我已寫好的程式,來讓他問使用者要不要
儲存檔案,謝謝~
|
cashxin2002
版主
![](./myimg/board/mystar.gif) ![](./myimg/board/mystar.gif) ![](./myimg/board/mystar.gif) ![](./myimg/board/mystar.gif) ![](./myimg/board/mystar.gif)
![](http://delphi.ktop.com.tw/download.php?download=upload/4800378c02ded_Xin.jpg) 發表:231 回覆:2555 積分:1937 註冊:2003-03-28
發送簡訊給我
|
您好﹗ 在結束按鈕中只下Form.Close;的命令﹐然后把您檢查是否有修改文字的程式碼寫在OnClose事件中﹐這樣﹐無論使用者按結束按鈕或右上角的X按鈕﹐皆會触發OnClose事件中的程式﹒ =================================
有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗
================================
------ 忻晟
|
deity
尊榮會員
![](./myimg/board/mystar.gif) ![](./myimg/board/mystar.gif) ![](./myimg/board/mystar.gif) ![](./myimg/board/mystar.gif) ![](./myimg/board/mystar.gif)
![](images/icon_photo_none.gif) 發表:90 回覆:876 積分:678 註冊:2003-05-09
發送簡訊給我
|
chan5287您好:
直接在
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
button1Click(sender);//调用您结束按钮的事件,就行喔,试试
end;
Pos多一句:cashxin2002大大,还是跟在您屁股后面 ![]() ~~~行径窄处,留一步与人行~~~
|
tonytop
中階會員
![](./myimg/board/mystar.gif) ![](./myimg/board/mystar.gif)
![](images/icon_photo_none.gif) 發表:6 回覆:114 積分:89 註冊:2003-12-04
發送簡訊給我
|
下列任選其中一種皆可
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if (有修改文字) then
CanClose:=False;
end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if (有修改文字) then
Abort;
end;
忙盲茫
|
jow
尊榮會員
![](./myimg/board/mystar.gif) ![](./myimg/board/mystar.gif) ![](./myimg/board/mystar.gif) ![](./myimg/board/mystar.gif) ![](./myimg/board/mystar.gif)
![](images/icon_photo_none.gif) 發表:66 回覆:751 積分:1253 註冊:2002-03-13
發送簡訊給我
|
確認離開的動作,我覺得在FormCloseQuery中來做比較好.. ![]()
< class="code"> procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose:
Boolean);
begin
CanClose := MessageDlg('結束程式?',
mtConfirmation, [mbYes, mbNo], 0) = mrYes;
if CanClose then btnSaveFile.Click;
end; procedure TForm1.btnSaveFileClick(Sender: TObject);
begin
if IsFileModified and (MessageDlg('',
mtConfirmation, [mbYes, mbNo], 0) = mrYes) then
begin
SaveFile();
end;
end;
|
jow
尊榮會員
![](./myimg/board/mystar.gif) ![](./myimg/board/mystar.gif) ![](./myimg/board/mystar.gif) ![](./myimg/board/mystar.gif) ![](./myimg/board/mystar.gif)
![](images/icon_photo_none.gif) 發表:66 回覆:751 積分:1253 註冊:2002-03-13
發送簡訊給我
|
更正:
procedure TForm1.btnSaveFileClick(Sender: TObject);
begin
if IsFileModified and (MessageDlg('儲存檔案',
mtConfirmation, [mbYes, mbNo], 0) = mrYes) then
begin
SaveFile();
end;
end;
|