如何控製右上角的「關閉」按鈕?? |
答題得分者是:cmf
|
uuujjj
一般會員 發表:31 回覆:59 積分:18 註冊:2002-09-28 發送簡訊給我 |
各位高手們,大家好~
又有疑問出來了~^^|||
之前是利用button來控製關閉視窗,
程式很直接的就能撰寫^_^,
但是,我想連同視窗右上角的「關閉」小按鈕,
也撰寫出messagebox的詢問對話方塊,
就是無法同button那樣撰寫出來~@@"
執行時,按下「關閉」的小按鈕,
還是會跑出messagebox來~
但是,無論我按「確定」或是「取消」…
視窗仍舊是照常關閉…= =||||
請問有經驗的版友高手們,這該如何處理呢??
不好意思~~~ 我的程式:
lang="en-us"> m:Integer;
begin
m :=Application.MessageBox('確定離開??','離開系統',33);
if m = 1 then
begin
close;
end;
end;
end. 如果加入了m=2 讓它frm_Menu.show也不行…@@||
這該如何是好呢~~:: >< :: 發表人 - uuujjj 於 2003/02/05 21:30:45 發表人 - uuujjj 於 2003/02/05 21:33:58
|
FrederickPau
資深會員 發表:4 回覆:161 積分:268 註冊:2002-11-04 發送簡訊給我 |
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
|
cmf
尊榮會員 發表:84 回覆:918 積分:1032 註冊:2002-06-26 發送簡訊給我 |
|
uuujjj
一般會員 發表:31 回覆:59 積分:18 註冊:2002-09-28 發送簡訊給我 |
引言: procedure Tfrm_Menu.FormClose(Sender: TObject; var Action: TCloseAction); begin if MessageDlg('Close application ?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then Action := caFree else Action := caNone; end;可否請教一下~~ MessageDlg是不是專門用在視窗上的按鈕呢?? 還是說就視窗上的按鈕外,哪些方面也適用呢?? if MessageDlg('Close application ?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then 此句中的mtConfirmation是什麼意思??? 原來這語法的使用這麼方便啊~ 只要指定給它所取得的參數就行了~~ 不用像messagebox一樣… 還得另外寫判斷句… 不過,如果用messagebox寫的話… 是不是也可以用這樣子的寫法啊???^^? (※應用在普通的button上的話) 還有,我不能修改那message標題列的標題文字耶~ 這MessageDlg可以修改嗎?? 發表人 - uuujjj 於 2003/02/05 21:52:54 |
cmf
尊榮會員 發表:84 回覆:918 積分:1032 註冊:2002-06-26 發送簡訊給我 |
MessageDlg是不是專門用在視窗上的按鈕呢?? Ans: NO 還是說就視窗上的按鈕外,哪些方面也適用呢??
Ans: 用法與 messagebox 相同 if MessageDlg('Close application ?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
此句中的mtConfirmation是什麼意思??? Ans:
mtConfirmation = A message box containing a green question mark. 原來這語法的使用這麼方便啊~
只要指定給它所取得的參數就行了~~
不用像messagebox一樣…
還得另外寫判斷句… 不過,如果用messagebox寫的話…
是不是也可以用這樣子的寫法啊???^^? Ans:
if Application.MessageBox('Close application ?','離開系統', MB_OKCANCEL)=IDOK then
Action := caFree
else
Action := caNone; 發表人 - cmf 於 2003/02/05 21:58:35
------
︿︿ |
uuujjj
一般會員 發表:31 回覆:59 積分:18 註冊:2002-09-28 發送簡訊給我 |
哇塞~感謝您一一的指導~^^
好感謝喔……
嗯嗯…我都瞭解了~
剛剛那些參數(如:mtConfirmation…等)
我都有試著run一次看看~
原來是指圖示的意思… 嗯嗯…原來設定視窗按鈕的語法差別是在於:
procedure Tfrm_Menu.FormClose(Sender: TObject; var Action: TCloseAction);
Action := caFree
Action := caNone;
這幾項上面…
謝謝~我恍然大悟了~^___________^
非常滿意…
以及感謝其它高手的指點~謝謝~~
|
sryang
尊榮會員 發表:39 回覆:762 積分:920 註冊:2002-06-27 發送簡訊給我 |
引言: 哇塞~感謝您一一的指導~^^ 好感謝喔…… 嗯嗯…我都瞭解了~ 剛剛那些參數(如:mtConfirmation…等) 我都有試著run一次看看~ 原來是指圖示的意思… 嗯嗯…原來設定視窗按鈕的語法差別是在於: procedure Tfrm_Menu.FormClose(Sender: TObject; var Action: TCloseAction); Action := caFree Action := caNone; 這幾項上面… 謝謝~我恍然大悟了~^___________^ 非常滿意… 以及感謝其它高手的指點~謝謝~~小弟覺得,使用 OnCloseQuery 事件比較好 procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin CanClose := MessageDlg('Close application ?', mtConfirmation, [mbYes, mbNo], 0) = mrYes; end;加油喔,喵~
------
歡迎參訪 "腦殘賤貓的備忘錄" http://maolaoda.blogspot.com/ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |