線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:11070
推到 Plurk!
推到 Facebook!

Application.MessageBox 使用心得

 
sryang
尊榮會員


發表:39
回覆:762
積分:920
註冊:2002-06-27

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-06-23 13:59:46 IP:211.20.xxx.xxx 未訂閱
近日搜尋 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/
系統時間:2024-04-17 0:20:00
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!