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