咨询:域名主机客服!261689845 建站:网站建设请点我!173022933 推广:网站推广请点我!452936608 销售:域名主机客服309128758 客户体验 | 售后平台 | 代理加盟 | 客户口碑

 

鼠标编程小技巧二则 - 新闻中心 - 南宁巨人网络
鼠标编程小技巧二则
时间:2013/2/25 14:55:10    来源:南宁巨人网络    浏览次数:323次
【字体大小:    】    【温馨提示:双击可滚动页面,单击则停止滚动。】

鼠标编程小技巧二则

一.通过鼠标在屏幕上的移动来控件程序界面

本例通过鼠标在屏幕上的移动来控制程序窗体的显示与隐藏:当鼠标移动到窗体所在区域时窗体显示,反之隐藏起来。仅需一条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.x<Me.Left\Screen.TwipsPerPixelXOrlpPoint.x>(Me.Left _
Me.Width)\Screen.TwipsPerPixelXOrlpPoint.y<Me.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->

        



关于我们 | 网站公告 | 参观机房 | 合作伙伴 | 代理合作 | 付款方式 | 法律声明 | 常见问题 | 在线留言 | 服务监督 | 联系我们 | 南宁网站建设
 
地址:广西南宁市广西大学正门左侧火炬路17号金达花园7栋2单元241室  邮编:530001  
业务邮箱:    技术邮箱:   财务邮箱:
在线服务空间域名:网站推广请点我!261689845 网站建设:网站建设请点我!309331800 网站推广:网站推广请点我!452936608 售后技术支持:网站推广请点我!309128758
代理合作:网站推广请点我!173022933 全国业务客服电话:0771-3824424  找巨人?  到巨人?
版权所有南宁市巨人网络 未经授权,禁止使用 中华人民共和国备案编号 :桂ICP备06014082号