硬汉嵌入式论坛

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

[ThreadX全家桶] GUIX失能控件焦点的函数出来了

[复制链接]

3

主题

22

回帖

31

积分

新手上路

积分
31
发表于 2020-9-27 00:14:08 | 显示全部楼层 |阅读模式
本帖最后由 waitopen 于 2020-9-27 12:20 编辑

在使用emwin时,经常需要临时或者某些切换时 失能指定的widget的焦点
emwin设置焦点:
  1. WM_SetFocus(_hMenu)
复制代码
emwin失能焦点好像忘了,根据“板凳”楼层兄弟的提示,我复习了一下:
  1. void BUTTON_SetFocusable(BUTTON_Handle hObj, int State)
复制代码
  1. void EDIT_SetFocusable(EDIT_Handle hObj, int State)
复制代码
  1. void MULTIEDIT_SetFocusable(MULTIEDIT_HANDLE hObj, int OnOff);
复制代码

GUIX设置控件焦点:
  1. gx_widget_status_add(GX_WIDGET *widget, GX_STATUS_ACCEPTS_FOCUS)
复制代码
函数原型:
  1. UINT gx_widget_status_add(GX_WIDGET *widget, ULONG status)
复制代码


GUIX失能控件焦点:
  1. gx_widget_status_remove(GX_WIDGET *widget, GX_STATUS_ACCEPTS_FOCUS)
复制代码
函数原型:
  1. UINT gx_widget_status_remove(GX_WIDGET *widget, ULONG status)
复制代码


status flags丰富不丰富:
  1. /* Define Widget status flags.  */

  2. #define GX_STATUS_VISIBLE                   0x00000001UL
  3. #define GX_STATUS_SELECTABLE                0x00000002UL
  4. #define GX_STATUS_ACCEPTS_INPUT             0x00000004UL
  5. #define GX_STATUS_HIDDEN                    0x00000008UL

  6. #define GX_STATUS_DEFAULT_FOCUS             0x00000010UL
  7. #define GX_STATUS_ACCEPTS_FOCUS             0x00000020UL
  8. #define GX_STATUS_HAS_FOCUS                 0x00000040UL
  9. #define GX_STATUS_NOTIFY_ON_GAIN_FOCUS      0x00000080UL

  10. #define GX_STATUS_NAV_STOP                  0x00000100UL
  11. #define GX_STATUS_NAV_PARENT                0x00000200UL

  12. #define GX_STATUS_MOVABLE                   0x00001000UL
  13. #define GX_STATUS_BUTTON_DERIVED            0x00002000UL
  14. #define GX_STATUS_TOGGLE_UNLOCK             0x00004000UL
  15. #define GX_STATUS_DIRTY                     0x00008000UL

  16. /* define cursor status flags */
  17. #define GX_STATUS_CURSOR_SHOW               0x00010000UL
  18. #define GX_STATUS_CURSOR_DRAW               0x00020000UL
  19. #define GX_STATUS_MARK_PREVIOUS             0x00040000UL
  20. #define GX_STATUS_MARK_NEXT                 0x00080000UL

  21. /* Define radial slider status flags */
  22. #define GX_STATUS_ANIMATION_NONE            0x00010000UL
  23. #define GX_STATUS_TRACKING_START            0x00020000UL

  24. #define GX_STATUS_MODAL                     0x00100000UL

  25. #define GX_STATUS_LINE_BREAK_PROCESSED      0x02000000UL
  26. #define GX_STATUS_RESIZE_NOTIFY             0x04000000UL
  27. #define GX_STATUS_STUDIO_CREATED            0x08000000UL

  28. #define GX_STATUS_TRANSPARENT               0x10000000UL
  29. #define GX_STATUS_NONCLIENT                 0x20000000UL
  30. #define GX_STATUS_OWNS_INPUT                0x40000000UL
  31. #define GX_STATUS_DYNAMICALLY_ALLOCATED     0x80000000UL
复制代码

焦点切换在做键盘时一定会用到。

函数机翻中文

函数机翻中文


机翻了一下函数说明:

函数简介

函数简介






回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107667
QQ
发表于 2020-9-27 10:56:30 | 显示全部楼层
谢谢楼主分享。
回复

使用道具 举报

337

主题

2048

回帖

3064

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3064
发表于 2020-9-27 11:27:53 | 显示全部楼层
emwin的失能焦点函数是WM_SetFocussable
回复

使用道具 举报

3

主题

22

回帖

31

积分

新手上路

积分
31
 楼主| 发表于 2020-9-27 12:09:14 | 显示全部楼层
谢谢楼上的兄弟提示,刚才复习了一下,顺手分享出来。

BUTTON_SetFocussable函数说明

BUTTON_SetFocussable函数说明


MULTIEDIT_SetFocussable函数增加的时间

MULTIEDIT_SetFocussable函数增加的时间

MULTIEDIT_SetFocussable函数说明

MULTIEDIT_SetFocussable函数说明


EDIT_SetFocussable函数增加的时间

EDIT_SetFocussable函数增加的时间

EDIT_SetFocussable说明

EDIT_SetFocussable说明




回复

使用道具 举报

17

主题

88

回帖

139

积分

初级会员

积分
139
发表于 2020-10-9 14:28:43 | 显示全部楼层
有没有发现获取当前窗口控件焦点的函数?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107667
QQ
发表于 2020-10-9 16:17:27 | 显示全部楼层
into 发表于 2020-10-9 14:28
有没有发现获取当前窗口控件焦点的函数?

貌似没有,只能此贴方案

GUIX 如何获取当前焦点?
http://www.armbbs.cn/forum.php?m ... 0367&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

615

主题

3077

回帖

4942

积分

至尊会员

积分
4942
发表于 2020-10-9 17:20:00 | 显示全部楼层
你有没有捣鼓键盘输入功能,键盘的隐藏,显示 功能 ??
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107667
QQ
发表于 2020-10-9 20:50:16 | 显示全部楼层
hpdell 发表于 2020-10-9 17:20
你有没有捣鼓键盘输入功能,键盘的隐藏,显示 功能 ??

GUIX Studio里面有个计算器的例子可以参考。
回复

使用道具 举报

615

主题

3077

回帖

4942

积分

至尊会员

积分
4942
发表于 2020-10-10 09:18:11 | 显示全部楼层
eric2013 发表于 2020-10-9 20:50
GUIX Studio里面有个计算器的例子可以参考。

貌似这个里面是有一个

C:\Azure_RTOS\GUIX_Studio_6.0\examples\demo_guix_smart_watch

貌似看着比较复杂,没有搞懂,
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-11 12:35 , Processed in 0.196296 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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