BitBtn1屬性 |
答題得分者是:wameng
|
20052020
初階會員 發表:121 回覆:79 積分:40 註冊:2005-01-18 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ ModalResult是一個回傳值﹐其透過使用者的Click動作而判斷是哪個Button物件
被Click了﹐通用的ModalResult值除了您所說的mrOK之外﹐還有以下幾種﹕
mrNone; mrOK; mrCancel; mrAbort; mrRetry; mrIgnore; mrYes; mrNo; mrAll; mrNoToAll; mrYesToAll等﹒ 除了對Button物件設定其ModalResult之外﹐也可直接用程式碼來控制﹐舉個例子如下﹕
在Form1的OnCloseQuery事件中 begin if MessageDlg('您确定要關閉這個Form嗎﹖, mtInformation, [mbOK, mbCancel] = mrCancel then Form1.CanClose := False; end;================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟 |
wameng
版主 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
我做一點補充: ModalResult 主要對應 Form 的Showmodal 方法。
例如:BitBtn1屬性ModalResult =mrOk
當對 BitBtn1 Click時,會告知 其Parent Form 結束視窗(ShowModal)。
然 Showmodal 的值就等於BitBtn1屬性ModalResult。
因此我們常常可以看到,確認視窗是否按下確認或取消。
是這樣的語法:
Result := Form2.ShowModal = mrOK; 然BitBtn1 為TButton所繼承,因此也繼承其屬性。
在它的Click 事件中。
procedure TButton.Click; var Form: TCustomForm; begin Form := GetParentForm(Self); if Form <> nil then Form.ModalResult := ModalResult; inherited Click; end;因此若要讓Image 如同 Button 的ModalResult 效果。 procedure TForm2.Image1Click(Sender: TObject); var Form: TCustomForm; begin Form := GetParentForm(Self); if Form <> nil then Form.ModalResult := mrOK; end;如果要改寫元件,Override Click 事件即可。 參考 PS.這類問題,應至 VCL 討論區發表較正確。 ~~~~~~~~~~~ 難得聰明,常常糊塗。 ~~~~~~~~~~~ |
wameng
版主 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |