鼠标编程小技巧二则

2016-02-19 16:28 8 1 收藏

今天图老师小编要向大家分享个鼠标编程小技巧二则教程,过程简单易学,相信聪明的你一定能轻松get!

【 tulaoshi.com - 编程语言 】

一.通过鼠标在屏幕上的移动来控件程序界面
  
  本例通过鼠标在屏幕上的移动来控制程序窗体的显示与隐藏:当鼠标移动到窗体所在区域时窗体显示,反之隐藏起来。仅需一条API函数:GetCursorPos。注意:如果需要将API函数置于模块中请对代码作相应修改。要尝试本例,需给标准EXE工程缺省添加一个Timer控件。
  
  PrivateTypePOINTAPI
  xAsLong
  yAsLong
  EndType
  
  PrivateDeclareFunctionGetCursorPosLib"user32"(lpPointAsPOINTAPI)AsLong
  
  PrivateSubForm_Load()
  Me.Visible=False
  Timer1.Enabled=True
  Timer1.Interval=100
  EndSub
  
  PrivateSubTimer1_Timer()
  DimlResultAsLong
  DimlpPointAsPOINTAPI
  DimiCounterAsInteger
  lResult=GetCursorPos(lpPoint)
  IflpPoint.xMe.LeftScreen.TwipsPerPixelXOrlpPoint.x(Me.Left _
  Me.Width)Screen.TwipsPerPixelXOrlpPoint.yMe.Top_
  Screen.TwipsPerPixelYOrlpPoint.y-10(Me.Top Me.Height)_
  Screen.TwipsPerPixelYThen
  Me.Visible=False'鼠标在窗体区域之外时
  Else
  Me.Visible=True'鼠标在窗体区域之内时
  EndIf
  EndSub
  
  二.获得Mouse_Exit事件
  
  所谓Mouse_Exit事件,是指鼠标指针离开某一控件所应发生的事件。本例是通过Form_MouseMove事件来判断鼠标指针是在窗体之内还是窗体之外的,你可根据需要作相应改动。请给窗体缺省创建一个按钮(用于观察效果)。
  
  PrivateDeclareFunctionSetCaptureLib"user32"(ByValhWndAsLong)AsLong
  PrivateDeclareFunctionReleaseCaptureLib"user32"()AsLong
  
  PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
  DimMouseExitAsBoolean
  MouseExit=(0=X)And(X=Me.Width)And(0=Y)And(Y=Me.Height)
  IfMouseExitThen
  Me.Caption="鼠标指针在窗体范围内"
  Command1.Enabled=True
  SetCaptureMe.hWnd
  Else
  Me.Caption="鼠标指针在窗体范围外"
  Command1.Enabled=False
  ReleaseCapture
  EndIf
  EndSub->

来源:http://www.tulaoshi.com/n/20160219/1612247.html

延伸阅读
《三国志10》任务二则 当玩家在游戏中对全地图访问完毕,+金 5000,+名声 30 七名所巡游任务 洛阳:白马寺 长安:始皇陵 蓟:桃园 小沛:孔庙 江陵:玉泉寺 江夏:黄鹤楼 吴:甘露寺   《三国志10》追加武将 三国志10官方追加50名新武将及其分析一览表: 1 韩信 感觉93智力做的有点低,开始时没兵没将没粮没钱,却能攻赵灭燕吞齐,...
标签: windows 操作系统
许多朋友在安装Windows XP SP2时遇到了一些问题,下面是两个比较经常的故障。 不是核心系统文件? 现象:当运行SP2安装程序后,它会先释放压缩包,在即将进行安装时却出现了如图的错误提示,无法进行安装。 解决:这主要是因为安装了某些包含启动画面修改的Windows美化软件,比如:BootXP、LogonUI Boot Randomizer等...
如果您是通过网卡的物理地址进行访问网络的,那么一定会碰到需要修改物理地址的情况。如更换新网卡,网卡的物理地址重复或者让笔记本电脑临时登陆一下网络等情况。更改网卡MAC地址的文章网络中有很多,但大都说的不够详细,下面笔者试着以Windows XP操作系统为例介绍两种网卡MAC地址的修改方法,希望对大家有所帮助。 简单的修改方...
----1、VB中实现动态移动控件 ----窗体中的控件如按钮、文本框等一般在运行时位置是固定不变的,但为了能给用户更方便的功能,我们可以做到在运行时动态移动控件的位置,比如我们可以允许用户随便将按钮放到自己喜欢的位置,而并非界面中固定的位置。其实这个功能实现起来是很容易的,只需要使用API函数SendMessage传递控件移动的消...
环境:WindowsXP 数据库:Oracle9i 问题一: 第一次在WindowsXP上安装Oracle9i就碰到如下错误: 您可能没有建立目录的适当权限或者磁盘已经没有空间,无法建立目录 c:.... 当时我的c盘有4G空间,天哪!这是错误吗?经过仔细分析,我觉得临时文件夹路径太长了,曾经通过网络安装Oracle8i时好像碰到过这样的错误。...

经验教程

130

收藏

49
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部