递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 9148|回复: 12
打印 上一主题 下一主题

[视窗] 火山怎样实现双击某键的效果?类似鼠标左键那样的求.源码

[复制链接]

76

主题

362

帖子

1244

积分

金牌会员

Rank: 6Rank: 6

积分
1244
跳转到指定楼层
楼主
发表于 2021-8-26 22:21:06 | 只看该作者 回帖奖励 |正序浏览 |阅读模式



背景:
我之前用易语言写了一个差不多的,实现方法不太先进,具体是用的自带时钟检测第一次单击按下并开始计时(同时用计次循环读取步数,因为好像无法直接获取时钟停止那一刻的数值,只能借助计次循环累加计数,时钟停止时获取当前循环累加次数,用完就归零,相当于运动员裁判的秒表那样),50毫秒内第二次单击相同按键即判定用户双击行为,超过50毫秒没有点第二次则计时器归零,第一次按下超过80毫秒才**起即判定为长按,自带时钟计时器归零等待下一次计时,但是长按 功能bug很多,有时候时钟已经=0了按键已经松手了音量却还一直增加,必须要按相反的按键才能停止,有时候又挺正常的,双击也有问题,比如双击打开我的电脑,判定逻辑有问题,有时候能识别到两次,有时候我按了三四次才识别出来是双击行为,我改进判定逻辑后又出现按一下计时器不归零当我很久大概过1分钟再按相同按键时它也给我识别成双击了,相当于这个计时器从一分钟前按下开始就一直在后台运行等待我下一次单击等了一分钟,不知道怎么回事,后来我打算用系统api时钟但是发现不太会用,好像只能用一次销毁后就不能用第二次了,相当于有多少个按键就得写多少个一次性api时钟,而且到后期我发现换一台没有易语言的电脑会出现报错无法运行的情况,我是用静态编译的啊为什么还会这样,看着bug那么多写着写着都没心情了,感觉想删了重写都冲动。换个先进高效的方式

所以想看看换成火山pc实现效果会不会更先进一点。(关于例程 火山和易语言的都可以分享,易语言的话建议bug少一点的思路先进的那种)

希望大佬能分享一下源码思路例程给我学习,谢谢了
回复

使用道具 举报

76

主题

362

帖子

1244

积分

金牌会员

Rank: 6Rank: 6

积分
1244
13#
 楼主| 发表于 2021-8-27 09:40:13 | 只看该作者
发个给你们看看效果吧

2020鼠标侧键9.6.zip

529.99 KB, 下载次数: 9

回复

使用道具 举报

76

主题

362

帖子

1244

积分

金牌会员

Rank: 6Rank: 6

积分
1244
12#
 楼主| 发表于 2021-8-27 09:35:16 | 只看该作者
mudou 发表于 2021-8-27 00:31
发现你想功能都想用鼠标实现,为什么要这样做。

方便啊,真的非常方便,当你用上了就会爱不释手,而不只是单纯的前进和后退功能,利用率低,在有限的两个按键里最大化开发它的潜能不好吗,一个按键能完成的事情我为什么还要切换播放器点点点?尤其是当你在玩游戏的时候遇到不好听的想换歌还要最小化游戏打开播放器这很麻烦,如果有个按键能搞定不是很方便吗
回复

使用道具 举报

76

主题

362

帖子

1244

积分

金牌会员

Rank: 6Rank: 6

积分
1244
11#
 楼主| 发表于 2021-8-27 09:29:11 | 只看该作者
mudou 发表于 2021-8-27 03:28
这样应该是你想要的吧。用了模块,图里有显示。

谢谢,你现在这些都只是单击的基本功能,而我要的是双击 和长按的功能,比如当我按住后退键不松手时可以减小音量,而不是按一下减一格音量,假如有100格我是不是要按一百次呢?还有那个双击动作和单击是不同的
回复

使用道具 举报

1

主题

118

帖子

2573

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
2573
10#
发表于 2021-8-27 03:28:02 | 只看该作者
本帖最后由 mudou 于 2021-8-27 03:30 编辑


这样应该是你想要的吧。用了模块,图里有显示。



具体想实现什么功能要自己再深入去写。


火山的模块还没有这些功能,需要移植,我的狗收起来了,不想再弄,你自己看着来。
回复

使用道具 举报

1

主题

118

帖子

2573

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
2573
9#
发表于 2021-8-27 00:31:00 | 只看该作者
发现你想功能都想用鼠标实现,为什么要这样做。
回复

使用道具 举报

76

主题

362

帖子

1244

积分

金牌会员

Rank: 6Rank: 6

积分
1244
8#
 楼主| 发表于 2021-8-26 23:03:39 | 只看该作者
mudou 发表于 2021-8-26 22:44
你是要用鼠标的前进和后退实现点按,长按,双击的功能是吧,前面一大堆没看懂。 ...

我自己用易语言写的代码感觉非常乱,都不知道怎么排查bug了,修bug找半天,最后一大堆注释,而且除了这些bug功能,我还加了滚轮跟侧键的组合键功能,比如  中键+右键=任务切换(ctrl+alt+tab),滚轮+按下中键也是调节音量,长按中键=alt+F4 等等,这些组合键倒是相对正常一些,但是也有bug ,当我按下滚轮+右键时**出任务界面同时他也会出现右键菜单,但是我不希望他出现,而是屏蔽掉原本的功能 ,侧键也有这个问题,在按键被按下时用”返回(0)“这个命令无法彻底屏蔽原始键值
回复

使用道具 举报

76

主题

362

帖子

1244

积分

金牌会员

Rank: 6Rank: 6

积分
1244
7#
 楼主| 发表于 2021-8-26 22:50:31 | 只看该作者
mudou 发表于 2021-8-26 22:44
你是要用鼠标的前进和后退实现点按,长按,双击的功能是吧,前面一大堆没看懂。 ...

对,就是这样
回复

使用道具 举报

76

主题

362

帖子

1244

积分

金牌会员

Rank: 6Rank: 6

积分
1244
6#
 楼主| 发表于 2021-8-26 22:45:44 | 只看该作者
附件bug代码

易语言.png (66 KB, 下载次数: 106)

易语言.png

2.png (49.27 KB, 下载次数: 107)

2.png

3.png (82.16 KB, 下载次数: 98)

3.png

4.png (36.62 KB, 下载次数: 108)

4.png

5.png (75.73 KB, 下载次数: 103)

5.png
回复

使用道具 举报

1

主题

118

帖子

2573

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
2573
5#
发表于 2021-8-26 22:44:04 | 只看该作者
你是要用鼠标的前进和后退实现点按,长按,双击的功能是吧,前面一大堆没看懂。
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-11-25 13:34 , Processed in 0.100606 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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