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;

  其弹出框效果如下

  

原文地址:https://www.cnblogs.com/xumenger/p/4357207.html