Application.MessageBox 使用心得 |
|
sryang
尊榮會員 發表:39 回覆:762 積分:920 註冊:2002-06-27 發送簡訊給我 |
近日搜尋 K.Top 上有關 Application.MessageBox 相關的文章, 發覺眾多網友對於這個 function 仍然有許多疑問, 特將個人的使用心得發表如下: Application.MessageBox 是 TApplication 的成員函數,宣告如下: function TApplication.MessageBox(const Text, Caption: PChar; Flags: Longint): Integer; 引數: 1. Text:要顯示的訊息 2. Caption:訊息視窗的標題列文字 3. Flags:訊息旗標 3.1. 可指定訊息視窗上的圖示 3.2. 可指定訊息視窗出現的按鈕 3.3. 可指定預設Focus在哪一個按鈕 3.4. 可指定是否 Modal 3.5. 其他 引數說明: Text、Caption 引數為 PCahr 型態,字串型態的變數可用 PChar() 轉換,若直接傳入一個字串的話,就不用轉型。 例如: var s: string; .... s := '存檔失敗'; Application.MessageBox(PChar(s), '錯誤', MB_ICONERROR); Flag 引數為 Longint 型態,可用的傳入值有: 1. 指定訊息視窗上的圖示 1.1 MB_ICONEXCLAMATION 或 MB_ICONWARNING 出現「黃三角形內有一個驚嘆號」圖示 1.2 MB_ICONINFORMATION 或 MB_ICONASTERISK 出現「白色橢圓內有一個藍色小寫 i」圖示 1.3 MB_ICONQUESTION 出現「問號」圖示 1.4 MB_ICONSTOP 或 MB_ICONERROR 或 MB_ICONHAND 出現「紅色X」圖示 2. 指定訊息視窗出現的按鈕 2.1 MB_ABORTRETRYIGNORE 出現「Abort」「Retry」「Ignore」三個按鈕 2.2 MB_OK 出現「Ok」按鈕,為預設值。 2.3 MB_OKCANCEL 出現「Ok」「Cancel」兩個按鈕 2.4 MB_RETRYCANCEL 出現「Retry」「Cancel」兩個按鈕 2.5 MB_YESNO 出現「Yes」「No」兩個按鈕 2.6 MB_YESNOCANCEL 出現「Yes」「No」「Cancel」三個按鈕 3. 可指定預設Focus在哪一個按鈕 3.1 MB_DEFBUTTON1 指定focus在左邊第一個按鈕,這是預設值。 3.2 MB_DEFBUTTON2、MB_DEFBUTTON3、MB_DEFBUTTON4 以此類推,指定focus在左邊第二、三、四個按鈕 4. 可指定是否 Modal 4.1 MB_APPLMODAL 對於應用程式而言,是 modal form 4.2 MB_SYSTEMMODAL 對於作業系統而言,是 modal form 4.3 MB_TASKMODAL 對於 task 而言,是 modal form 一般來說,這跟 MB_APPLMODAL 是等效的,但是當應用程式中的所有 form 都隱藏的時候,就必須使用這個,才能達到 modal 的目的 5. 其他 5.1 MB_TOPMOST 將訊息視窗提至最前面 5.2 MB_RIGHT 將訊息文字向右對齊 在一個 Flag 要指定這麼多的東西,要如何使用呢? 只要把要用的引數組合 or 起來就可以了。例如: Application.MessageBox(PCahr(sMsg), PChar(sCap), MB_YESNO or MB_ICONQUESTION or MB_DEFBUTTON2) 這樣會出現「問號」圖示,「Yes」「No」兩個按鈕,而且 focus 在 No 按鈕上 回傳值: 1. IDABORT:使用者按了「Abort」按鈕 2. IDCANCEL:使用者按了「Cancel」按鈕 3. IDIGNORE:使用者按了「Ignore」按鈕 4. IDNO:使用者按了「No」按鈕 5. IDOK:使用者按了「Ok」按鈕 6. IDRETRY:使用者按了「Retry」按鈕 7. IDYES:使用者按了「Yes」按鈕 順帶一提,按鈕上的文字是會隨著作業系統的語系而改變的,用中文版的 Windows,按鈕上的文字就出現中文。加油喔,喵~
------
歡迎參訪 "腦殘賤貓的備忘錄" http://maolaoda.blogspot.com/ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |