这个技巧将向您展示如何使用捕捉光标的api函数阻止鼠标指针移出窗体。
注意!:如果窗体的borderstyle属性被设为sizeable(2或5),则当你改变窗体的大小时鼠标就会“逃脱”程序的监控!因此你最好把borderstyle设为0、1、3或4。
步骤:
把以下代码添加如模块:
option explicit
type rect
left as long
top as long
right as long
bottom as long
end type
declare function clipcursor lib "user32" _
(lprect as any) as long
public sub disabletrap(curform as form)
dim erg as long
'声明过程变量
'设置新坐标
dim newrect as rect
curform.caption = "释放鼠标"
with newrect
.left = 0&
.top = 0&
.right = screen.width / screen.twipsperpixelx
.bottom = screen.height / screen.twipsperpixely
end with
erg& = clipcursor(newrect)
end sub
public sub enabletrap(curform as form)
dim x as long, y as long, erg as long
'声明过程变量
'设置新坐标
dim newrect as rect
'得到twipsperpixel
'窗体的scalemode必须设为twips!!!
x& = screen.twipsperpixelx
y& = screen.twipsperpixely
curform.caption = "捕捉鼠标"
'设置光标的范围
with newrect
.left = curform.left / x&
.top = curform.top / y&
.right = .left + curform.width / x&
.bottom = .top + curform.height / y&
end with
erg& = clipcursor(newrect)
end sub
2、在窗体上添加两个命令按钮(command button)。
3、把以下代码添加如form1。
private sub command1_click()
enabletrap form1
end sub
private sub command2_click()
disabletrap form1
end sub
private sub form_unload(cancel as integer)
'程序结束时释放鼠标。
disabletrap form1
end sub
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器