当前位置: 首页 > 图文教程 > 开发语言 > Delphi > 用Delphi实现选单的自动隐藏功能

Delphi
文件管理(一)
文件管理(二)
文件管理(三)
剪贴板和动态数据交换(一)
剪贴板和动态数据交换(二)
对象链接与嵌入(一)
对象链接与嵌入(二)
Delphi拖放编程
动态链接库编程(一)
Delphi 应用编程实例简介
在Delphi应用程序中使用DLL
Delphi中API编程--在Delphi中调用API函数
如何在Delphi中制作“动态选单”
用Delphi编制金额大写转换程序
用Delphi制作Windows 98风格的工具栏
用Delphi检测特殊键状态
创建“控制面板”的新项目
用Delphi实现文件关联
Delphi使用三则
用Delphi制作“复活节彩蛋”

用Delphi实现选单的自动隐藏功能


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 49 ::
收藏到网摘: n/a

 

在Windows 9x操作系统中,都有选单自动隐藏功能,不仅可以扩大应用软件的可视范围,而且又不耽误开始选单的操作,特别是同时打开多个应用程序时,能进行方便地切换,不让别人知道你后台运行的程序。在这里,我为大家介绍一下用Delphi实现该项功能的方法。

首先,建立一个新的Project。然后,在form1中添加一个Panel控件,它的Align属性为alBottom,Visible属性为true,并记下top属性的值,这里为307。在form1中添加一个Image控件,它的Align属性为alClient。在Panel控件中添加三个Button控件。Button1的Caption属性为“开启自动隐藏”,Enabled属性为true;Button2的Caption属性为“关闭自动隐藏”,Enabled属性为false;Button3的Caption属性为“退出”,Enabled属性为false。

最后,要对各个控件的操作进行编程。在这里要设置一个Boolean类型的全局变量flag,初值为false。

完整程序如下:

unit test;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls, ExtCtrls;

type

TForm1 = class(TForm)

Image1: TImage;

Panel1: TPanel;

Button1: TButton;

Button2: TButton;

Button3: TButton;

procedure Button1Click(Sender: TObject);

procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure FormShow(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

flag:boolean=false;

{对开启/关闭自动隐藏选单进行标志}

implementation

{$R *.DFM}

procedure TForm1.FormShow(Sender: TObject);

begin

image1.Picture.LoadFromFile(′c:pwin98安装程序.bmp′);

{在Image控件中装载图片}

end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

begin

if flag then

if y〉307 then panel1.Visible:=true

{这里的307就是先前Panel中Top属性的值}

else panel1.Visible:=false;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

flag:=true;   {开启自动隐藏选单}

button1.Enabled:=false;

button2.Enabled:=true;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

flag:=false;{关闭自动隐藏选单}

button1.Enabled:=true;

button2.Enabled:=false;

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

close;{关闭程序}

end;

end.

运行程序,看一下该功能的表现。

单击“开启自动隐藏”按钮,则窗口下部的控制选单被隐藏。移动鼠标,当鼠标接近窗口的底部时,控制选单出现,鼠标移出某个范围后选单又自动消失。效果

单击“关闭自动隐藏”按钮,程序又恢复初始状态,鼠标的移动对选单没有。

该程序主要是对Image1MouseMove过程中鼠标x值的判断,实现选单的隐藏。同样的,如果应用程序的控制选单位于窗口的左边或右边时,对该过程的y值进行判断也能达到同样的功能。

以上是我对Delphi编程的一点经验,希望对大家有用。上述代码在Delphi 4.0+Win 98中运行通过。