Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)aaa
published in(发表于) 2014/7/19 0:09:28
Delphi以树型显示的程序界面

Delphi以图形按钮显示的界面

Delphi以图形按钮显示的界面

实例说明

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



技术要点

    本例中用到了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;





If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759