如何用VB定鼠标移开窗体上就执行命令
当鼠标放在窗体上时就执行一个命令,可以用Mousemove来执行。那么鼠标一离开窗体就执行另一个命令,这段又要用什么来写???假如from现在是在窗体边上隐藏的,就像QQ...
当鼠标放在窗体上时就执行一个命令,可以用Mousemove来执行。
那么鼠标一离开窗体就执行另一个命令,这段又要用什么来写???
假如from现在是在窗体边上隐藏的,就像QQ窗体靠边时能隐藏那样子
当鼠标放到窗体上时,from1.left = screen.width - from1.width(窗体就从边上弹出来),
那么当鼠标移开窗体上时,from1.left = screen.width + 100(窗体靠边隐藏)
后面这段怎么写
二楼的网友,你说的那些我明白,但不知道怎么写,能帮忙写一下程序吗,详细一点的好,谢谢 展开
那么鼠标一离开窗体就执行另一个命令,这段又要用什么来写???
假如from现在是在窗体边上隐藏的,就像QQ窗体靠边时能隐藏那样子
当鼠标放到窗体上时,from1.left = screen.width - from1.width(窗体就从边上弹出来),
那么当鼠标移开窗体上时,from1.left = screen.width + 100(窗体靠边隐藏)
后面这段怎么写
二楼的网友,你说的那些我明白,但不知道怎么写,能帮忙写一下程序吗,详细一点的好,谢谢 展开
展开全部
用api有点复杂,获得当前鼠标坐标后与
me.left,me.top,me.height+me.top,me.width+me.left对比
如果不用api,建议用timer控件设置2秒后如果没有mouse_move事件就运行代码
如果在2秒内有mouse_move事件就重新计时
可以加一点分吗?
以下是把窗体隐藏到屏幕右方的方法
-=-=-=-=-=-=-=-=-=-=-=-=-
dim mousetime as long, formstate as boolean
'时间以微秒为单位,窗体状态
private sub timer1_timer() '新建时间控件
if mousetime <= 0 and formstate=true then
'判断时间到零和窗体为可见
call formhide'调用隐藏函数
formstate=false
mousetime=0
else
mousetime=mousetime-timer1.interval
end if
end sub
private sub form_load()
mousetime=5000
me.left=screen.width-me.width
end sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
mousetime=5000'重设时间
if formstate=false then
call formshow'调用显示函数
formstate=true
end if
end sub
function formhide()
dim i as long
for i=me.left to (screen.width-100) step int((screen.width-100-me.left)/10)
'分十次完成把窗体移动到屏幕右边边缘
'加一百使窗体在屏幕边缘突出
me.left=i
next i
end function
function formshow()
dim i as long
for i=(screen.width-100) to (screen.width-me.width) step -int((me.width-100)/10)
'分十次完成显示窗体
me.left=i
next i
end function
me.left,me.top,me.height+me.top,me.width+me.left对比
如果不用api,建议用timer控件设置2秒后如果没有mouse_move事件就运行代码
如果在2秒内有mouse_move事件就重新计时
可以加一点分吗?
以下是把窗体隐藏到屏幕右方的方法
-=-=-=-=-=-=-=-=-=-=-=-=-
dim mousetime as long, formstate as boolean
'时间以微秒为单位,窗体状态
private sub timer1_timer() '新建时间控件
if mousetime <= 0 and formstate=true then
'判断时间到零和窗体为可见
call formhide'调用隐藏函数
formstate=false
mousetime=0
else
mousetime=mousetime-timer1.interval
end if
end sub
private sub form_load()
mousetime=5000
me.left=screen.width-me.width
end sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
mousetime=5000'重设时间
if formstate=false then
call formshow'调用显示函数
formstate=true
end if
end sub
function formhide()
dim i as long
for i=me.left to (screen.width-100) step int((screen.width-100-me.left)/10)
'分十次完成把窗体移动到屏幕右边边缘
'加一百使窗体在屏幕边缘突出
me.left=i
next i
end function
function formshow()
dim i as long
for i=(screen.width-100) to (screen.width-me.width) step -int((me.width-100)/10)
'分十次完成显示窗体
me.left=i
next i
end function
展开全部
VB6中没有鼠标离开事件,你可以用API函数获得当前鼠标坐标以及程序窗体的矩形范围值,从中判断鼠标是否在这个范围内,如果不是,就说明鼠标已离开窗体了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
设置一个定时器,当鼠标在窗体内的时候定时清零,离开窗体超时以后触发。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
lesiw - 五级 2010-3-4 06:09
好主意!
好主意!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询