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

2016-01-29 14:16 66 1 收藏

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

【 tulaoshi.com - Delphi 】

 

  在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.

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

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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/delphi/)

217590__b1101t01.jpg

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

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

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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/delphi/)

 

来源:https://www.tulaoshi.com/n/20160129/1492923.html

延伸阅读
标签: 浏览器
Firefox的侧边栏能否自动隐藏 Firefox若要自动隐藏侧边栏,可以安装 Optimoz Tweaks 扩展。 简介 火狐浏览器(Mozilla Firefox)是由Mozilla开发的网页浏览器,采用Gecko网页排版引擎,支持多种操作系统,开放源代码以多许可方式授权,包括Mozilla 公共许可证(MPL)、GNU通用公共授权条款(GPL)以及GNU较宽松公共许可证(LGPL...
实现窗体自动隐藏方法有多种,可以使用定时器,不断监视鼠标,当鼠标移动到窗体边缘时,显示窗体,当鼠标离开后隐藏窗体。也可以在鼠标收到WM_NCMOUSEMOVE或 WM_MOUSEMOVE(无边框窗体)时激活窗体,然后在窗体消息WM_ACTIVE中设置显示或隐藏,这种方法在窗体未失去焦点时不会隐藏。 !-- frame contents -- !-- /frame contents -- ...
  腾讯QQ是当前流行的网络聊天工具之一,由于它在应用设计上有很多独特之处,所以也吸引了很多程序员对之进行研究和模仿。在这里,我将利用Delphi对QQ的窗体自动隐藏效果提出自己的实现方法。 一、问题的提出 熟悉QQ使用的朋友都知道,当QQ窗体区域超出屏幕四边时,窗体就会自动“消失”,只留下窗体一边的小部分显...
标签: 办公软件
朋友在用Excel统计学生的成绩时,在E63单元格中输入公式:=AVERAGE(E3:E62),准备计算平均分,由于上面的单元格中还没有输入成绩数据,因而公式返回了一个错误结果(如图1)。 朋友问我,如何让这些错误结果不显示或打印出来呢?我向他介绍了下面三种方法。 图1 一、函数处理法 ...
标签: Web开发
文字隐藏 应用广泛,但常用的方法没有什么亲和力。 常用文字隐藏方法的缺陷: 1、display:none 这种方法搜索引擎可能认为被隐藏的文字属于垃圾信息而被忽略; 屏幕阅读器会忽略被隐藏的文字。 2、visibility: hidden 这种方法隐藏了文字却仍然占据物理空间。 更好的方法: overflow:hidden .class{ display:block;/*统一转...

经验教程

851

收藏

77
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部