Delphi中彈出提示框的四種方法


參考:http://blog.itpub.net/8432156/viewspace-924843/

更為詳細的內容請參見:http://blog.csdn.net/akof1314/article/details/6256952

 

以下是四種方法的簡介,要想去准確的使用,請參考Delphi的幫助手冊,里面准確的提到了怎么調用、有什么函數、會會出現什么效果

在Delphi中,提供模式化對話框的方法很多,現對幾種比較常用的方法做如下比較: 
1) 直接調用Windows API 函數MessageBox 
  該方法一般情況下使用正常,而且根據不同的操作系統將顯示相應的中文或英文按鈕標題。而在筆者曾經開發的系統中,偶爾會出現該函數沒有鎖定Handle所指的窗口的情況。通過觀察發現,當入口參數的窗口句柄是Application.MainForm的窗口句柄時,沒有出現類似情況。因此,建議大家慎用。 


2) 調用Delphi提供的函數MessageDlg 
  該方法的不足之處是,對話框的按鈕標題是英文。 


3) 調用Delphi提供的過程ShowMessage 
  該方法默認將應用程序的標題作為對話框的標題,並且僅僅是信息提示框,不太靈活。

   ShowMessage的聲明有兩種

procedure ShowMessage(const Msg: WideString); overload;
procedure ShowMessage(const Msg: WideString; Params: array of const); overload;

  

4) 調用函數Application.MessageBox 
  強力推薦使用該方法。該方法的使用效果與Windows API 函數MessageBox完全相同,並且不會出現有時沒有鎖定當前活動窗口的情況。 
  例如: 

Aplication.MessageBox( '插入成功', '成功', MB_OK + MB_ICONEXCLAMATION);

  MessageBox的聲明如下

function MessageBox(const Text, Caption: PChar; Flags: Longint = MB_OK): Integer;

  其彈出框效果如下

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM