开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 325|回复: 4
收起左侧

[已解决] 鼠标跟随图片

 关闭 [复制链接]
结帖率:97% (370/383)
发表于 2025-7-12 01:28:04 | 显示全部楼层 |阅读模式   福建省泉州市
20精币
Snipaste_2025-07-12_01-25-30.png

指定一张透明文字图,开启后,鼠标随意移动到任意位置,图片保持跟随在光标右下角。

最佳答案


回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳
结帖率:100% (1/1)

签到天数: 16 天

发表于 2025-7-12 01:28:05 | 显示全部楼层   云南省楚雄彝族自治州
这样就可以了 demo.e (148.03 KB, 下载次数: 8)
回复

使用道具 举报

结帖率:0% (0/1)

签到天数: 17 天

发表于 2025-7-12 10:38:29 | 显示全部楼层   辽宁省丹东市
  
窗口程序集名保 留  保 留备 注
窗口程序集1   
子程序名返回值类型公开备 注
__启动窗口_创建完毕  

子程序名返回值类型公开备 注
_按钮1_被单击  
如果真 (编辑框1.内容 = “”)
信息框 (“请输入文本”, 0, )
返回 ()
透明标签1.标题 = 编辑框1.内容
_启动窗口.宽度 = 透明标签1.宽度
_启动窗口.高度 = 透明标签1.高度
_启动窗口.底色 = #白色
设置窗口 (取窗口句柄 (), -20, 位或 (取窗口风格 (取窗口句柄 (), -20), 524288))
设置透明 (取窗口句柄 (), #白色, 200, 1)
时钟1.时钟周期 = 20
子程序名返回值类型公开备 注
_时钟1_周期事件  
_启动窗口.左边 = 取鼠标水平位置 ()
_启动窗口.顶边 = 取鼠标垂直位置 ()


i支持库列表   支持库注释   
iext扩展界面支持库一


2.e

4.08 KB, 下载次数: 1

回复

使用道具 举报

结帖率:57% (12/21)

签到天数: 7 天

发表于 2025-7-12 14:56:26 | 显示全部楼层   浙江省湖州市
以下是易语言实现“透明文字图跟随鼠标光标右下角”的完整代码,通过窗口透明和鼠标位置实时获取实现效果:### 核心代码实现```易语言.版本 2.支持库 eAPI.支持库 spec.支持库 iext.程序集 窗口程序集_启动窗口.全局变量 透明文字图路径, 文本型  // 透明文字图的路径.全局变量 跟随偏移X, 整数型  // X轴偏移(光标右侧距离).全局变量 跟随偏移Y, 整数型  // Y轴偏移(光标下方距离).子程序 _启动窗口_创建完毕    // 初始化参数    透明文字图路径 = 取运行目录 () + “\透明文字图.png”  // 替换为你的图片路径    跟随偏移X = 10  // 光标右侧10像素    跟随偏移Y = 10  // 光标下方10像素        // 设置窗口属性(关键:无边框、透明、置顶)    启动窗口.边框 = #无边框    启动窗口.透明类型 = 1  // 全透明(仅图片可见)    启动窗口.透明度 = 255  // 不影响图片透明度    启动窗口.置顶 = 真  // 始终显示在最上层    启动窗口.可视 = 真        // 加载透明图片    图片框1.图片 = 读入文件 (透明文字图路径)    图片框1.宽度 = 图片框1.取图片宽度 ()    图片框1.高度 = 图片框1.取图片高度 ()        // 启动鼠标位置监听(每10毫秒更新一次,确保跟随流畅)    时钟1.时钟周期 = 10.子程序 _时钟1_周期事件.局部变量 鼠标X, 整数型.局部变量 鼠标Y, 整数型.局部变量 屏幕宽度, 整数型.局部变量 屏幕高度, 整数型.局部变量 窗口新X, 整数型.局部变量 窗口新Y, 整数型    // 获取当前鼠标位置(屏幕坐标)    取鼠标位置 (鼠标X, 鼠标Y)        // 计算窗口新位置(光标右下角:鼠标X+偏移X,鼠标Y+偏移Y)    窗口新X = 鼠标X + 跟随偏移X    窗口新Y = 鼠标Y + 跟随偏移Y        // 限制窗口不超出屏幕范围    屏幕宽度 = 取屏幕宽度 ()    屏幕高度 = 取屏幕高度 ()    .如果 (窗口新X + 启动窗口.宽度 > 屏幕宽度)        窗口新X = 屏幕宽度 - 启动窗口.宽度  // 右边界限制    .如果结束    .如果 (窗口新Y + 启动窗口.高度 > 屏幕高度)        窗口新Y = 屏幕高度 - 启动窗口.高度  // 下边界限制    .如果结束        // 移动窗口到计算位置    移动窗口 (启动窗口.取窗口句柄 (), 窗口新X, 窗口新Y).子程序 _按钮_选择图片_被单击.局部变量 打开文件对话框, 整数型.局部变量 选择的文件, 文本型    // 选择透明文字图(支持PNG等透明格式)    打开文件对话框 = 创建打开文件对话框 ()    设置打开文件对话框 (打开文件对话框, , “图片文件|*.png;*.gif;*.ico”, “选择透明文字图”, , )    .如果 (显示打开文件对话框 (打开文件对话框) = 真)        选择的文件 = 取打开文件对话框文件名 (打开文件对话框)        透明文字图路径 = 选择的文件        图片框1.图片 = 读入文件 (透明文字图路径)  // 更新图片        图片框1.宽度 = 图片框1.取图片宽度 ()  // 自适应图片大小        图片框1.高度 = 图片框1.取图片高度 ()        启动窗口.宽度 = 图片框1.宽度  // 窗口大小适配图片        启动窗口.高度 = 图片框1.高度    .如果结束    销毁打开文件对话框 (打开文件对话框).子程序 _按钮_开启跟随_被单击    时钟1.时钟周期 = 10  // 启动跟随(10毫秒刷新一次位置)    标签状态.标题 = “状态:已开启跟随”.子程序 _按钮_关闭跟随_被单击    时钟1.时钟周期 = 0  // 停止跟随    标签状态.标题 = “状态:已关闭跟随”.子程序 _启动窗口_尺寸被改变    // 确保窗口大小与图片一致    图片框1.宽度 = 启动窗口.宽度    图片框1.高度 = 启动窗口.高度.子程序 _启动窗口_将被销毁    时钟1.时钟周期 = 0  // 停止时钟,释放资源```### 界面设计说明1. **窗口设置**:     - 启动窗口设为“无边框”,`透明类型`设为“全透明”(仅图片可见)。     - 窗口初始大小根据图片自动调整(加载图片后更新)。2. **控件布局**:     - 一个`图片框1`:用于显示透明文字图,`对齐方式`设为“缩放适应”。     - 三个按钮:“选择图片”“开启跟随”“关闭跟随”,用于交互控制。     - 一个`标签状态`:显示当前跟随状态。### 使用方法1. 准备一张透明背景的文字图片(推荐PNG格式,确保文字区域不透明)。  2. 运行程序,点击“选择图片”导入透明文字图。  3. 点击“开启跟随”,图片会自动跟随鼠标光标右下角(可通过修改`跟随偏移X/Y`调整距离)。  4. 点击“关闭跟随”,图片停止移动。### 关键技术点1. **实时位置更新**:通过`时钟`组件每10毫秒获取一次鼠标位置(`取鼠标位置`),确保跟随流畅。  2. **边界限制**:计算窗口新位置时,避免图片超出屏幕范围(判断是否超过屏幕宽高)。  3. **透明效果**:利用窗口全透明属性,只显示图片内容,实现“悬浮”视觉效果。  4. **自适应大小**:窗口和图片框自动适配导入图片的尺寸,无需手动调整。通过以上代码,可实现透明文字图精准跟随鼠标光标,且界面简洁、操作方便,适用于标注、提示等场景。




  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
全局变量名类 型数组公开备 注
透明文字图路径文本型  // 透明文字图的路径  
跟随偏移X整数型  // X轴偏移(光标右侧距离)  
跟随偏移Y整数型  // Y轴偏移(光标下方距离)  

子程序名返回值类型公开备 注
_启动窗口_创建完毕  
// 初始化参数
透明文字图路径 = 取运行目录 ()“\透明文字图.png”  // 替换为你的图片路径
跟随偏移X = 10  // 光标右侧10像素
跟随偏移Y = 10  // 光标下方10像素

// 设置窗口属性(关键:无边框、透明、置顶)
启动窗口.边框 = #无边框
启动窗口.透明类型 = 1  // 全透明(仅图片可见)
启动窗口.透明度 = 255  // 不影响图片透明度
启动窗口.置顶 =   // 始终显示在最上层
启动窗口.可视 = 真

// 加载透明图片
图片框1.图片 = 读入文件 (透明文字图路径)
图片框1.宽度 = 图片框1.取图片宽度 ()
图片框1.高度 = 图片框1.取图片高度 ()

// 启动鼠标位置监听(每10毫秒更新一次,确保跟随流畅)
时钟1.时钟周期 = 10
子程序名返回值类型公开备 注
_时钟1_周期事件  
变量名类 型静态数组备 注
鼠标X整数型 
鼠标Y整数型 
屏幕宽度整数型 
屏幕高度整数型 
窗口新X整数型 
窗口新Y整数型 
// 获取当前鼠标位置(屏幕坐标)
取鼠标位置 (鼠标X, 鼠标Y)

// 计算窗口新位置(光标右下角:鼠标X+偏移X,鼠标Y+偏移Y)
窗口新X = 鼠标X + 跟随偏移X
窗口新Y = 鼠标Y + 跟随偏移Y

// 限制窗口不超出屏幕范围
屏幕宽度 = 取屏幕宽度 ()
屏幕高度 = 取屏幕高度 ()
如果 (窗口新X + 启动窗口.宽度 > 屏幕宽度)
窗口新X = 屏幕宽度 - 启动窗口.宽度  // 右边界限制
如果 (窗口新Y + 启动窗口.高度 > 屏幕高度)
窗口新Y = 屏幕高度 - 启动窗口.高度  // 下边界限制
// 移动窗口到计算位置
移动窗口 (启动窗口.取窗口句柄 (), 窗口新X, 窗口新Y)
子程序名返回值类型公开备 注
_按钮_选择图片_被单击  
变量名类 型静态数组备 注
打开文件对话框整数型 
选择的文件文本型 
// 选择透明文字图(支持PNG等透明格式)
打开文件对话框 = 创建打开文件对话框 ()
设置打开文件对话框 (打开文件对话框, , “图片文件|*.png;*.gif;*.ico”, “选择透明文字图”, , )
如果 (显示打开文件对话框 (打开文件对话框))
选择的文件 = 取打开文件对话框文件名 (打开文件对话框)
透明文字图路径 = 选择的文件
图片框1.图片 = 读入文件 (透明文字图路径)  // 更新图片
图片框1.宽度 = 图片框1.取图片宽度 ()  // 自适应图片大小
图片框1.高度 = 图片框1.取图片高度 ()
启动窗口.宽度 = 图片框1.宽度  // 窗口大小适配图片
启动窗口.高度 = 图片框1.高度
销毁打开文件对话框 (打开文件对话框)
子程序名返回值类型公开备 注
_按钮_开启跟随_被单击  
时钟1.时钟周期 = 10  // 启动跟随(10毫秒刷新一次位置)
标签状态.标题 = “状态:已开启跟随”
子程序名返回值类型公开备 注
_按钮_关闭跟随_被单击  
时钟1.时钟周期 = 0  // 停止跟随
标签状态.标题 = “状态:已关闭跟随”
子程序名返回值类型公开备 注
_启动窗口_尺寸被改变  
// 确保窗口大小与图片一致
图片框1.宽度 = 启动窗口.宽度
图片框1.高度 = 启动窗口.高度
子程序名返回值类型公开备 注
_启动窗口_将被销毁  
时钟1.时钟周期 = 0  // 停止时钟,释放资源


i支持库列表   支持库注释   
eAPI应用接口支持库
spec特殊功能支持库
iext扩展界面支持库一

回复

使用道具 举报

结帖率:54% (7/13)

签到天数: 19 天

发表于 2025-7-12 18:24:57 | 显示全部楼层   浙江省嘉兴市
最简单的就是用时钟,然后获取鼠标的 xy位置,然后减掉一点值,就达到了你要的效果,在复杂点可以使用API来写了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表