[轉]ShowModal() = mrOk

來源:互聯網
上載者:User

標籤:

if Form1.showmodal = mrok then 這句話什麼意思?

   首先,所有的命令按鈕(不論是Button還是BitBtn)都有一個屬性:ModalResult,該屬性可以設定為mrOk、mrCancel...等等,預設值是mrNone(ModalResult是一個整型值,只要你在用ShowModal以後,視窗中只要給它付一個非零的值,視窗會自動關閉,而mrOK的值是2)。

   平時,ModalResult屬性沒什麼用處,但如果命令按鈕放置到用showmodal顯示(模態顯示,一般用於顯示對話方塊)的表單上時,就大大的有用了。 

  作用體現在: 

  1、當設定命令按鈕的ModalResult屬性為mrOk、mrCancel...等時,程式運行後,單擊該按鈕,按鈕所在的表單會自動關閉,不用在OnClick事件中添加諸如Close;語句。 

  2、當設定命令按鈕的ModalResult屬性為mrOk、mrCancel...等時,程式運行後,單擊該按鈕,按鈕所在的表單會自動關閉,同時將按鈕的ModalResult屬性值賦值給表單的ModalResult屬性(注意:任何表單都有這個屬性!) 

  3、自動關閉上述表單時,表單的ModalResult屬性又會自動傳遞給showmodal方法,作為該方法的傳回值。 所以說,showmodal方法的傳回值總是與命令按鈕的ModalResult屬性相同。

 

   if form1.showmodal = mrok then 如果要通俗化一下,可以寫成如下等價的代碼:

 var r:TModalResult;// ...... .......  r:=form1.showmodal; if r=mrOK then// ... ... 

  很明顯,根據showmodal方法的傳回值,可以判斷使用者在對話方塊中,究竟是點擊了OK按鈕還是Cancel按鈕,從而決定下一步的程式邏輯。

[轉]ShowModal() = mrOk

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.