在任何Delphi窗体应用程序中都存在这个变量。TApplication类中有一些属性和方法,在一般情况下,我们不必关心全局变量Application,但该类提供的属性和方法可以给程序设计提供很多帮助。

在项目文件中有个全局变量Application,其类型为TApplication。在任何 Delphi 窗体应用程序中都存在这个变量。TApplication类中有一些属性和方法,在一般情况下,我们不必关心全局变量Application,但该类提供的属性和方法可以给程序设计提供很多帮助。
4.1 TApplication 常用属性- ExeName
该属性返回可执行应用程序的全路径和文件名。在运行时只读。
- MainForm
该属性指明了应用程序的主窗体,其类型为TForm类。
- Icon
设置应用程序的图标
- Title
设置应用程序的标题
- Active
检查应用程序是否为活动窗口
- Handle
Windows系统中的窗口句柄
- HelpFile
帮助文件的文件名
- ShowHint
设置是否显示提示
示例:获取应用程序的可执行文件名、路径等信息显示在窗体中,界面设计如下图:
代码如下:
procedure TForm1.Button1Click(Sender: TObject);varexe_name, file_name, path, ext_name: string;beginexe_name := Application.ExeName;file_name := ExtractFileName(exe_name);path := ExtractFilePath(exe_name);ext_name := ExtractFileExt(exe_name);Memo1.Lines.Clear;Memo1.Lines.Add('可执行全路径文件名:'exe_name);Memo1.Lines.Add('可执行文件名:'file_name);Memo1.Lines.Add('可执行文件所在路径:'path);Memo1.Lines.Add('可执行文件扩展名:'ext_name);end;
TApplication 类的常用方法:
- MessageBox
MessageBox 方法是Delphi对Windows的API函数MessageBox的封装,与ShowMessage函数相比,功能比较强大。MessageBox方法定义:
function MessageBox(const Text; caption: PChar; Flags: longint=MB_OK): Integer;
参数说明:
1.Text
信息窗口中显示的文本字符串
2.Caption
信息窗口的标题
3.Flags
信息窗口上显示的按钮。取值:
MB_ABORTRETRYIGNORE - 显示 中止、重试、忽略 三个按钮
MB_OK:显示 确定 按钮
MB_OKCANCEL:显示 确定、取消 按钮
MB_RETRYCANCEL:显示 重试、取消 按钮
MB_YESNO:显示 是 、否 按钮
MB_YESNOCANCEL:显示 是、否、取消 三个按钮
返回值:
对应于以上7个按钮的操作,返回值为:
IDOK、IDCANCEL、IDABORT、IDRETRY、IDIGNORE、IDYES、IDNO
- CreateForm
用于创建一个窗体的实例。可以使用项目选项中的自动创建窗体来管理,这样的话,我们就不需要使用该方法来创建窗体。CreateForm方法的声明如下:
procedure CreateForm(Formclass: TFormclass; var Reference);
参数 Formclass 用于指定窗体的类,参数 Reference 返回创建的窗体实例。
- Run
运行程序
- Initialize
对应用程序进行初始化
- Minimize
将应用程序的主窗体最小化
- Restore
恢复应用程序的主窗体为最小化或最大化之前的状态
示例:演示 MessageBox 方法,实现将应用程序窗口最小化,界面设计如下图:
代码如下:
procedure TForm1.Button1Click(Sender: TObject);varbutton_value: Integer;begin// 终止、重试、忽略button_value := Application.MessageBox('请选择一个操作', '提示', MB_ABORTRETRYIGNORE);case button_value ofIDABORT: ShowMessage('您选择了终止按钮');IDRETRY: ShowMessage('您选择了重试按钮');IDIGNORE: ShowMessage('您选择了忽略按钮');end;end;procedure TForm1.Button2Click(Sender: TObject);begin// 最小化Application.Minimize;end;
