程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi編程:完全控制桌面的實現

Delphi編程:完全控制桌面的實現

編輯:Delphi

 

在Windows 9x中系統桌面和開始菜單可以說是它的一大特色,其實我們可以利用Delphi輕易地在應用程序中實現這種技術:

  新建一個應用程序, 將Form1窗體的BorderStyle屬性設置為bsNone,FormStyle屬性設置為 fsStayOnTop,WindowState屬性設置為wsMaximized。

  如有必要可在Form1窗體中放置一個Image控件Image1,為它的Picture屬性裝入一幅自己喜愛的圖像並將它的Align屬性設置為alClient,Stretch設置為True,使圖像拉伸占滿Form1的客戶區,作為系統背景。

  然後,新建一個窗體Form2,將它的BorderStyle屬性設置為bsNone,FormStyle屬性設置為fsStayOnTop。

  在Form2內放置一個SpeedButton控件SpeedButton1和一個PopupMenu控件PopupMenu1。

  將SpeedButton1的Top屬性設為0,Left屬性設為0,Caption屬性設為 “在這裡”(也可隨你) ,還可設置Glyph屬性為它加上一個圖像。雙擊PopupMenu1控件,根據自己需要設置各個菜單項。

  接下來為Form1的OnCreate事件添加如下代碼:

  procedure TForm1.FormCreate(Sender: TObject);

  var

   tep:integer;

  begin

  //用來屏蔽Ctrl+Alt+Del、Ctrl+Tab

  功能及屏幕保護程序的運行

   tep:=0;

   systemparametersinfo(spi_setfasttaskswitch,

   1,@tep,0);

   systemparametersinfo(spi_screensaverrunning,

   1,@tep,0);

  end;

  為Form1的OnMouseMove事件添加代碼如下:

  procedure TForm1.FormMouseMove

  (Sender: TObject; Shift: TShiftState; X,Y: Integer);

  begin

  //當鼠標移動到Form1的底部時顯示Form2(即開始菜單) ,否則隱藏Form2

   if y〉form1.height-30 then

   begin

   form2.left:=form1.left;

   form2.top:=form1.height-30;

   form2.width:=form1.width;

   form2.height:=30;

   form2.show;

   end

   else

   form2.hide;

  end;

  如果你按上面步驟添加了Image1控件,請在Form1的Image1的OnMouseMove事件編輯欄內選擇FormMouseMove。

  為Form2中的SpeedButton1的OnClick事件添加如下代碼:

  procedure TForm2.SpeedButton1Click

  (Sender: TObject);

  begin

  //當用戶單擊 SpeedButton1按鈕後彈出由PopupMenu1構成的“開始”菜單項

   PopupMenu1.Popup(form2.left,form2.top);

  end;

  最後為“退出考勤系統”菜單項的OnClick事件添加如下代碼:

  procedure TForm2.a6Click(Sender: TObject);

  begin   //退出應用程序

   application.Terminate;

  end;

  現在,您就可以運行這個程序看看您的勞動成果了。

 

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