欢迎光临
我们一直在努力

怎样捕捉窗体的鼠标_visualbasic教程

建站超值云服务器,限时71元/月

->这个技巧将向您展示如何使用捕捉光标的API函数阻止鼠标指针移出窗体。

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

步骤:
把以下代码添加如模块:
OptionExplicit

TypeRECT

LeftAsLong

TopAsLong

RightAsLong

BottomAsLong

EndType

DeclareFunctionClipCursorLib”user32″_

(lpRectAsAny)AsLong

PublicSubDisableTrap(CurFormAsForm)

DimergAsLong

声明过程变量

设置新坐标

DimNewRectAsRECT

CurForm.Caption=”释放鼠标”

WithNewRect

.Left=0&

.Top=0&

.Right=Screen.Width/Screen.TwipsPerPixelX

.Bottom=Screen.Height/Screen.TwipsPerPixelY

EndWith

erg&=ClipCursor(NewRect)

EndSub

PublicSubEnableTrap(CurFormAsForm)

DimxAsLong,yAsLong,ergAsLong

声明过程变量

设置新坐标

DimNewRectAsRECT

得到TwipsperPixel

窗体的ScaleMode必须设为Twips!!!

x&=Screen.TwipsPerPixelX

y&=Screen.TwipsPerPixelY

CurForm.Caption=”捕捉鼠标”

设置光标的范围

WithNewRect

.Left=CurForm.Left/x&

.Top=CurForm.Top/y&

.Right=.Left CurForm.Width/x&

.Bottom=.Top CurForm.Height/y&

EndWith

erg&=ClipCursor(NewRect)

EndSub

2、在窗体上添加两个命令按钮(CommandButton)。

3、把以下代码添加如Form1。

PrivateSubCommand1_Click()

EnableTrapForm1

EndSub

PrivateSubCommand2_Click()

DisableTrapForm1

EndSub

PrivateSubForm_Unload(CancelAsInteger)

程序结束时释放鼠标。

DisableTrapForm1

EndSub->

->

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 怎样捕捉窗体的鼠标_visualbasic教程
分享到: 更多 (0)