硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2670|回复: 5
收起左侧

[emWin] 禁用触摸按钮有什么好办法?

[复制链接]

4

主题

8

回帖

20

积分

新手上路

积分
20
发表于 2018-4-16 22:00:20 | 显示全部楼层 |阅读模式
如题。

1.想实现某些时刻的触摸按钮禁用。
比如点击禁用触摸按钮后,再点击触屏上的其它区域,都会出现提示框,提醒解锁。

emwin里有提到按钮三种配色,禁用,未按下,按下。
但是实际Set或者Get按钮状态,好像只有未按下和按下两种
是否还能设置按钮状态成禁用

我现在想到的变通方法是整个屏幕做成一个透明大按钮,启用触摸禁用后,在大按钮的操作处理里进行解锁提示。

但是这个办法总感觉路子不正。

2.另外,点击屏幕上的某些显示区域后作出相应动作,我也是创建了该区域大小的透明按钮,不知道这个办法是否常规?


当然还有就是触摸驱动里处理,但这样就更“野蛮”了。不知道理解对不对,希望大神指点。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2018-4-17 00:54:03 | 显示全部楼层
1、 调用函数WM_DisableWindow()禁止。

2、使用窗口的WM_TOUCH消息。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2018-4-17 00:54:05 | 显示全部楼层
1、 调用函数WM_DisableWindow()禁止。

2、使用窗口的WM_TOUCH消息。
回复

使用道具 举报

4

主题

8

回帖

20

积分

新手上路

积分
20
 楼主| 发表于 2018-4-17 12:14:47 | 显示全部楼层
eric2013 发表于 2018-4-17 00:54
1、 调用函数WM_DisableWindow()禁止。

2、使用窗口的WM_TOUCH消息。

感谢回复。
第1个问题解决了,用WM_DisableWindow()可以禁用触摸。

但是用WM_TOUCH接收消息时,不是很灵敏。翻了下emwin手册,说是接触到窗口轮廓时触发。
实际测试了下,确实触摸窗口边缘非常灵敏。怎么让它中间也能响应呢?

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2018-4-17 12:46:13 | 显示全部楼层
hj356 发表于 2018-4-17 12:14
感谢回复。
第1个问题解决了,用WM_DisableWindow()可以禁用触摸。

使用WM_TOUCH要麻烦些。

你可以做个完全透明的按钮控件试试,使用按钮的自定义回调函数。这样就简化操作了。
回复

使用道具 举报

4

主题

8

回帖

20

积分

新手上路

积分
20
 楼主| 发表于 2018-4-17 13:32:31 | 显示全部楼层
好,用透明按钮试下。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-19 22:00 , Processed in 0.041059 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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