Delphi以图形按钮显示的界面
Delphi以图形按钮显示的界面
实例说明
菜单和工具栏虽然能方便用户操作程序的相应功能,但各有缺点。如果采用按钮式功能菜单,不但美观大方,而且操作灵活。当单击按钮时,用户区将显示相应的操作按钮组。下面介绍图形界面式菜单的设计方法。运行本例,效果如图1.17所示。

图1.17Delphi以图形按钮显示的界面
技术要点
本例中用到了ChDir()函数。该函数的原型如下:
procedure Chdir(const S:string);overload;
procedure ChDir(P:PChar);overload;
参数说明:
S,P 当前目录的指定路径。
功能:改变当前目录的指定路径。
在该实例中用到了ExtracFilePath()函数。该函数原型如下:
function ExtractFilePath(const FileName:string):string;
参数说明:
FileName 文件名,包含驱动器和目录。
功能:该函数从FileName指定的文件名中提取驱动器恶化目录部分,生成的字符串从FileName最左边的字符开始,直到冒号或反斜线符号为止,并包含冒号或反斜线符号。若FileName参数不包含驱动器和目录,则生成的字符串为空。该函数用于多字符集系统(MBCS)。
在本例中的ExtractFilePath() 函数是为了获取图片的路径。
注意:在本例中不宜使窗体最大化。如最小化,将是TSpeedButton组件不在正确的位置。
实现过程
1.新建一个标准工程,创建一个新窗体,设置窗体的Name属性为FRM_ERP_ZJM。
2.在窗体上放置TActionManager、TMainMenu、TPanel、TStatusBar、TTimer、TLabel和TSpeedButton组件。
3.相关组件的主要属性如表1.6所示。
表1.6 主要组件的属性设置
4.主要程序代码如下:
自定义函数:
procedure TFRM_ERP_ZJM.ttp(tt : integer);
begin
SpeedButton1.Visible := false;
SpeedButton2.Visible := false;
SpeedButton3.Visible := false;
SpeedButton4.Visible := false;
SpeedButton5.Visible := false;
SpeedButton6.Visible := false;
SpeedButton7.Visible := false;
SpeedButton8.Visible := false;
SpeedButton9.Visible := false;
SpeedButton10.Visible := false;
SpeedButton11.Visible := false;
SpeedButton12.Visible := false;
SpeedButton13.Visible := false;
SpeedButton14.Visible := false;
end;
Label组件的OnClick处理事件:
procedure TFRM_ERP_ZJM.Label1Click(Sender: TObject);
begin
image2.Picture.CleanupInstance;
image3.Picture.CleanupInstance;
chdir(ExtractFilepath(Application.ExeName));
image2.Picture.LoadFromFile('图片12.jpg');
image3.Picture.LoadFromFile('图片13.jpg');
ttp(1);
speedbutton1.Action := Action2;
speedbutton2.Action := Action3;
SpeedButton1.Caption:='';
SpeedButton2.Caption:='';
end;