易语言,求鼠标接近后显示窗口,离开隐藏窗口,仿QQ窗口那种

要源码哦,谢谢了... 要源码哦,谢谢了 展开
 我来答
问道问问土
2011-04-25 · TA获得超过1529个赞
知道小有建树答主
回答量:528
采纳率:77%
帮助的人:132万
展开全部
20分不错,占位,做完作业给你写。

-----------=======--------
我来了 - - 好吧,我承认,我写不到QQ那么牛B。但是大体上是可以实现了。
你可以再修改一下移动的距离。。无API 纯核心支持库 3个时钟 一个启动窗口。。。OK 复制代码

======
.版本 2

.程序集 窗口程序集1
.程序集变量 wide, 整数型
.程序集变量 high, 整数型
.程序集变量 _x_, 整数型
.程序集变量 _y_, 整数型
.程序集变量 left, 整数型
.程序集变量 right, 整数型
.程序集变量 inside, 整数型
.程序集变量 i, 文本型
.程序集变量 up, 整数型
.程序集变量 down, 整数型

.子程序 __启动窗口_创建完毕

_y_ = 取屏幕高度 ()
_x_ = 取屏幕宽度 ()
时钟1.时钟周期 = 300
时钟2.时钟周期 = 100

.子程序 __启动窗口_尺寸被改变

wide = _启动窗口.宽度
high = _启动窗口.高度

.子程序 _时钟1_周期事件

.如果真 (inside = 0)
.判断循环首 (_启动窗口.顶边 ≤ 0)
.如果真 (_启动窗口.顶边 ≤ -high + 15)
left = _启动窗口.左边
right = _启动窗口.左边 + _启动窗口.宽度
i = “上”
时钟3.时钟周期 = 300
跳出循环 ()
.如果真结束
_启动窗口.顶边 = _启动窗口.顶边 - 10
.判断循环尾 ()

.如果真结束
.如果真 (inside = 0)
.判断循环首 (_启动窗口.左边 ≤ 0)
.如果真 (_启动窗口.左边 ≤ -wide + 15)
up = _启动窗口.顶边
down = _启动窗口.顶边 + _启动窗口.高度
i = “左”
时钟3.时钟周期 = 300
跳出循环 ()
.如果真结束
_启动窗口.左边 = _启动窗口.左边 - 10
.判断循环尾 ()

.如果真结束
.如果真 (inside = 0)
.判断循环首 (_启动窗口.左边 + _启动窗口.宽度 ≥ _x_)
.如果真 (_启动窗口.左边 ≥ _x_ + wide - 30)
up = _启动窗口.顶边
down = _启动窗口.顶边 + _启动窗口.高度
i = “右”
输出调试文本 (_启动窗口.左边)
时钟3.时钟周期 = 300
跳出循环 ()
.如果真结束
_启动窗口.左边 = _启动窗口.左边 + 10
.判断循环尾 ()

.如果真结束

.子程序 _时钟2_周期事件

.如果 (取鼠标垂直位置 () > _启动窗口.顶边 且 取鼠标垂直位置 () < _启动窗口.顶边 + _启动窗口.高度 且 取鼠标水平位置 () > _启动窗口.左边 且 取鼠标水平位置 () < _启动窗口.左边 + _启动窗口.宽度)
inside = 1
.否则
inside = 0
.如果结束

.子程序 _时钟3_周期事件

.如果真 (i = “上”)
.如果真 (取鼠标水平位置 () > left 且 取鼠标水平位置 () < left + right 且 取鼠标垂直位置 () ≤ 3)
.判断循环首 (_启动窗口.顶边 ≤ 0)
.如果真 (_启动窗口.顶边 ≥ 0)
left = 0
right = 0
i = “”
时钟3.时钟周期 = 0
跳出循环 ()
.如果真结束
_启动窗口.顶边 = _启动窗口.顶边 + 10
.判断循环尾 ()
.如果真结束

.如果真结束
.如果真 (i = “左”)
.如果真 (取鼠标垂直位置 () > up 且 取鼠标垂直位置 () < up + down 且 取鼠标水平位置 () ≤ 3)
.判断循环首 (_启动窗口.左边 ≤ 0)
.如果真 (_启动窗口.左边 ≥ 0)
up = 0
down = 0
i = “”
时钟3.时钟周期 = 0
跳出循环 ()
.如果真结束
_启动窗口.左边 = _启动窗口.左边 + 10
.判断循环尾 ()
.如果真结束

.如果真结束
.如果真 (i = “右”)
.如果真 (取鼠标垂直位置 () > up 且 取鼠标垂直位置 () < up + down 且 取鼠标水平位置 () ≥ _x_ - 3)
.判断循环首 (_启动窗口.左边 ≥ _x_ - wide)
.如果真 (_启动窗口.左边 ≤ wide)
up = 0
down = 0
i = “”
时钟3.时钟周期 = 0
跳出循环 ()
.如果真结束
_启动窗口.左边 = _启动窗口.左边 - 10
.判断循环尾 ()
.如果真结束

.如果真结束

========
没有写下面的,我记的QQ似乎也没有下面的。。如果你感兴趣自己补上吧。
osh3lzfp9
2011-04-24 · TA获得超过1129个赞
知道小有建树答主
回答量:1332
采纳率:0%
帮助的人:807万
展开全部
可以用鼠标位置被移动事件,不过易语言里好像没有移出范围这个事件.只能自己判断位置,不精确.
可以自定义窗口消息过程,处理鼠标移入移出事件
可以用时钟取鼠标在屏幕中位置,判断位置是否在你的窗口内.

以上三种是思路.通过思路去解决问题比直接知道答案要好.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式