VB经验技巧(一)[2]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 showman 的 blog

注意!:如果窗体的borderstyle属性被设为sizeable(2或5),则当你改变窗体的大小时鼠标就会“逃脱”程序的监控!因此你最好把borderstyle设为0、1、3或4。

 

步骤:

 

  1. 把以下代码添加如模块:

 

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


怎样使我的程序总处于屏幕最前方?(always on top)

本文关键:vb
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top