Delphi以XPManifest组件显示界面
以XPManifest组件显示界面
实例说明
大多数的界面都比较的单调,可以用TXPManifest组件使窗体以XP的形式来显示。如果菜单的内容比较少,可以采用按钮的形式显示菜单,不但美观大方,而且操作灵活,具有很强的动感效果。当指针指向按钮时,按钮将凸出显示且颜色改变。下面介绍按钮显示菜单的设计方法。本例运行效果如图1.19所示

图。1.19以XPManifest组件显示界面
技术要点
下面介绍一下如何对窗体的关闭进行提示。窗口正要关闭,但是没有关闭之前会触发OncloseQuery事件,该事件中的参数CanClose是Boolean型的,如果设置该参数为False,窗口将不会被关闭。所以在该事件处理代码中,可以提示用户是否关闭程序。如果用户不想关闭程序,则设置该参数为False。利用MessageBox参数的返回值,可以知道用户所选择的按钮。该函数声明如下:
function MessageBox(const Text ,Caption:PChar;Flags:Longint):Integer;
参数说明:
Text 对话框中显示的字符串。
Caption 对话框的颜色。
Flags 按钮及图表标记。
如果用户单击了“否” 按钮则该函数返回值为ID_NO。
DateTimeTostr() 的函数原型为:
function DateTimeToStr(DateTime:TDateTime):string;overload;
function DateTimeToStr(DateTime:TDateTime;coust Format Setting:TFormatSettings):string overload;
参数说明:
DateTime 日期时间类型。
功能:将TDateTime值转换成字符串类型。
注意:要对关闭窗体进行提示,必须在窗体的OnClose事件中编写代码。
实现过程
1. 新建一个标准工程,创建一个新窗体,默认窗体的Name属性为Form1。
2. 添加SpeedButton、Image和XPManifest组件。
3. 相关组件的主要属性如表1.8所示。

表1.8 主要组件的属性设置
4.主要程序代码如下:
procedure TMAIN.SpeedButton6Click(Sender: TObject);
begin
CLOSE;
end;
procedure TMAIN.FormClose(Sender: TObject; var Action: TCloseAction);
begin //退出系统提示
if MessageBox(0,'是否要退出本系统?','提示信息',MB_YESNO+MB_ICONQUESTION)=IDYES then
begin
Application.Terminate;
end
else
begin
Action := caNone;
end;
end;