转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> VB.NET程序 >> 正文
怎样限制鼠标移动         ★★★★

怎样限制鼠标移动

作者:闵涛 文章来源:闵涛的学习笔记 点击数:685 更新时间:2009/4/23 14:57:46
  本文介绍如何限制鼠标在窗口的指定范围内移动。这个技术在需要防止用户鼠标在指定区域内活动时非常

  有用。例如在一个射击游戏中,需要限制鼠标在射击区内移动。

  操作步骤

  1、建立一个新工程项目,缺省建立窗体FORM1

  2、添加一个新模体

  3、粘贴下面代码到新模体

Option ExplicitDeclare Function ClipCursor Lib "user32" (lpRect As Any) As Long

Declare Function ClipCursorClear Lib "user32" Alias "ClipCursor" (ByVal lpRect As Long) As Long

Declare Function ClientToScreen Lib "user32" (ByVal hwnd As Long, lpPoint As POINTAPI) As Long

Type RECT

Left As Long

Top As Long

Right As Long

Bottom As Long

End Type

Type POINTAPI

X As Long

Y As Long

End Type

Public RetValue As Long

Public ClipMode As Boolean

Public Sub SetCursor(ClipObject As Object, Setting As Boolean)

used to clip the cursor into the viewport and

turn off the defa windows cursor

Dim CurrentPoint As POINTAPI

Dim ClipRect As RECT

If Setting = False Then

set clip state back to normal

RetValue = ClipCursorClear(0)

Exit Sub

End If

set current position

With CurrentPoint

.X = 0

.Y = 0

End With

find position on the screen (not the window)

RetValue = ClientToScreen(ClipObject.hwnd, CurrentPoint)

designate clip area

With ClipRect

.Top = CurrentPoint.Y

.Left = CurrentPoint.X

.Right = .Left + ClipObject.ScaleWidth

.Bottom = .Top + ClipObject.ScaleHeight

End With clip it

RetValue = ClipCursor(ClipRect)

End Sub

  4、添加一个图片框控件(PICTURE1)到窗体(FORM1)

  5、设置PICTURE1的尺寸和FORM1的一样大

  6、在PICTURE1的CLICK事件中添加以下代码:

Private Sub Picture1_Click()

ClipMode = Not ClipMode

SetCursor Picture1, ClipMode

End Sub

  7、保存工程项目

  8、运行程序。在图片框单击鼠标,鼠标将被包含在图片框控件的区域内。要释放限制状态只需再次单击鼠标。

  注意:如果释放限制状态失败,鼠标将被永久限制,只能用重新启动机器来解决。

  另一个限制鼠标活动范围的方法是关闭鼠标,用其他图象代替光标,例如手枪。


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台