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

利用delphi完全控制桌面的實現

編輯:Delphi

在windows 中系統桌面和開始菜單可以說是它的一大特色,其實我們可以利用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