delphi框架选择(7.Delphi应用程序框架)
在项目文件中有个全局变量Application,其类型为TApplication。在任何 Delphi 窗体应用程序中都存在这个变量。TApplication类中有一些属性和方法,在一般情况下,我们不必关心全局变量Application,但该类提供的属性和方法可以给程序设计提供很多帮助。
4.1 TApplication 常用属性- ExeName
该属性返回可执行应用程序的全路径和文件名。在运行时只读。
- MainForm
该属性指明了应用程序的主窗体,其类型为TForm类。
- Icon
设置应用程序的图标
- Title
设置应用程序的标题
- Active
检查应用程序是否为活动窗口
- Handle
Windows系统中的窗口句柄
- HelpFile
帮助文件的文件名
- ShowHint
设置是否显示提示
示例:获取应用程序的可执行文件名、路径等信息显示在窗体中,界面设计如下图:
代码如下:
procedure TForm1.Button1Click(Sender: TObject);
var
exe_name, file_name, path, ext_name: string;
begin
exe_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);
var
button_value: Integer;
begin
// 终止、重试、忽略
button_value := Application.MessageBox('请选择一个操作', '提示', MB_ABORTRETRYIGNORE);
case button_value of
IDABORT: ShowMessage('您选择了终止按钮');
IDRETRY: ShowMessage('您选择了重试按钮');
IDIGNORE: ShowMessage('您选择了忽略按钮');
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
// 最小化
Application.Minimize;
end;
,
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com