3DMAX制作 | VB编程 | VC编程 | JAVA编程 | 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; 现在,您就可以运行这个程序看看您的劳动成果了。 |
精华文章先睹为快 玩转电脑从此简单 |
本站所有文章的著作权归作者所有 |
责任编辑 |