Application.MessageBox詳解

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」按鈕

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章