Delphi编程:完全控制桌面的实现
2008-04-09 04:20:26来源:互联网 阅读 ()
田志刚 (2000-10-19)
在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;
现在,您就可以运行这个程序看看您的劳动成果了。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash