Delphi中调用API函数经验点滴(二)

onlySeungRi 2015-12-23

二、弹出模式化对话框

在Delphi中,提供模式化对话框的方法很多,现对几种比较常用的方法做如下比较:

1)直接调用WindowsAPI函数MessageBox

该方法一般情况下使用正常,而且根据不同的操作系统将显示相应的中文或英文按钮标题。而在笔者曾经开发的系统中,偶尔会出现该函数没有锁定Handle所指的窗口的情况。通过观察发现,当入口参数的窗口句柄是Application.MainForm的窗口句柄时,没有出现类似情况。因此,建议大家甚用。

2)调用Delphi提供的函数MessageDlg

该方法的不足之处是,对话框的按钮标题是英文。

3)调用Delphi提供的过程ShowMessage

该方法默认将应用程序的标题作为对话框的标题,并且仅仅是信息提示框,不太灵活。

4)调用函数Application.MessageBox

该方法是笔者强力推荐使用的方法。该方法的使用效果与WindowsAPI函数MessageBox完全相同,并且不会出现有时没有锁定当前活动窗口的情况。

例如:

Aplication.MessageBox(Handle,'这是一条警告信息。','警告',MB_OK+MB_ICONEXCLAMATION);

转自bbs.sendsms.cn

相关推荐