程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 用Delphi實現選單的自動隱藏功能

用Delphi實現選單的自動隱藏功能

編輯: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.

   運行程序,看一下該功能的表現。

  單擊“開啟自動隱藏”按鈕,則窗口下部的控制選單被隱藏。移動鼠標,當鼠標接近窗口的底部時,控制選單出現,鼠標移出某個范圍後選單又自動消失。效果如圖所示:

217590__b1101t01.jpg

  單擊“關閉自動隱藏”按鈕,程序又恢復初始狀態,鼠標的移動對選單沒有任何影響。

  該程序主要是對Image1MouseMove過程中鼠標x值的判斷,實現選單的隱藏。同樣的,如果應用程序的控制選單位於窗口的左邊或右邊時,對該過程的y值進行判斷也能達到同樣的功能。

  以上是我對Delphi編程的一點經驗,希望對大家有用。上述代碼在Delphi 4.0+Win 98中運行通過。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved