|
|
||||
首页
文学作品 网页设计 平面设计 程序设计 考试认证 基础办公 QQ资源 服务器架设 网站运营 网页资源
|
|
|
| 汉南在线 → 程序设计 → VB程序 | |||||||||||
本文介绍如何限制鼠标在窗口的指定范围内移动。这个技术在需要防止用户鼠标在指定区域内活动时非常 有用。例如在一个射击游戏中,需要限制鼠标在射击区内移动。 操作步骤 1、建立一个新工程项目,缺省建立窗体FORM1 2、添加一个新模体 3、粘贴下面代码到新模体 OptionExplicitDeclareFunctionClipCursorLib"user32"(lpRectAsAny)AsLong DeclareFunctionClipCursorClearLib"user32"Alias"ClipCursor"(ByVallpRectAsLong)AsLong DeclareFunctionClientToScreenLib"user32"(ByValhwndAsLong,lpPointAsPOINTAPI)AsLong TypeRECT LeftAsLong TopAsLong RightAsLong BottomAsLong EndType TypePOINTAPI XAsLong YAsLong EndType PublicRetValueAsLong PublicClipModeAsBoolean PublicSubSetCursor(ClipObjectAsObject,SettingAsBoolean) 'usedtoclipthecursorintotheviewportand 'turnoffthedefaultwindowscursor DimCurrentPointAsPOINTAPI DimClipRectAsRECT IfSetting=FalseThen 'setclipstatebacktonormal RetValue=ClipCursorClear(0) ExitSub EndIf 'setcurrentposition WithCurrentPoint .X=0 .Y=0 EndWith 'findpositiononthescreen(notthewindow) RetValue=ClientToScreen(ClipObject.hwnd,CurrentPoint) 'designatecliparea WithClipRect .Top=CurrentPoint.Y .Left=CurrentPoint.X .Right=.Left ClipObject.ScaleWidth .Bottom=.Top ClipObject.ScaleHeight EndWith'clipit RetValue=ClipCursor(ClipRect) EndSub 4、添加一个图片框控件(PICTURE1)到窗体(FORM1) 5、设置PICTURE1的尺寸和FORM1的一样大 6、在PICTURE1的CLICK事件中添加以下代码: PrivateSubPicture1_Click() ClipMode=NotClipMode SetCursorPicture1,ClipMode EndSub 7、保存工程项目 8、运行程序。在图片框单击鼠标,鼠标将被包含在图片框控件的区域内。要释放限制状态只需再次单击鼠标。 注意:如果释放限制状态失败,鼠标将被永久限制,只能用重新启动机器来解决。 另一个限制鼠标活动范围的方法是关闭鼠标,用其他图象代替光标,例如手枪。->
| |||||||||||
| >> 相关文章 | |||||||||||
|
授权使用:汉南在线 http://www.hzwz.net/(2008-2009) Copyright (c) 2002-2007 汉南在线. All Rights Reserved . 经营许可证:陕ICP备05000109号 Powered by:汉南在线 |