硬汉嵌入式论坛

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

[emWin] 请教一下,emwin的ICONVIEW和机械按键配合使用。没死机,串口和流水灯都正常

[复制链接]

11

主题

694

回帖

727

积分

金牌会员

积分
727
发表于 2025-5-23 10:20:51 | 显示全部楼层 |阅读模式
本帖最后由 hqgboy 于 2025-5-23 10:26 编辑

emwin6.x使用ICONVIEW控件,用机械按键发生命令,进入下一页面,返回ICONVIEW界面,再按键,不能操作ICONVIEW了。

部分代码如下:


                                case IR_KEY_LEFT:

                                        GUI_SendKeyMsg(GUI_KEY_DOWN, 1);

                                        break;

                                case IR_KEY_RIGHT:

                                
                                GUI_SendKeyMsg(GUI_KEY_ENTER, 1);

                                        break;

                                case IR_KEY_1:

                                        GUI_SendKeyMsg(GUI_KEY_LEFT, 1);
                                        break;

                                case IR_KEY_3:

                                        GUI_SendKeyMsg(GUI_KEY_RIGHT, 1);
                                        break;

====================================


        case WM_KEY:
                #if 1
            switch (((WM_KEY_INFO*)(pMsg->Data.p))->Key)
            {
                                #if 1
                                case GUI_KEY_UP:
                                       


                    break;
                                
                                case GUI_KEY_DOWN:
                                       


                    break;
                                
                                case GUI_KEY_LEFT:

                    break;
                                  case GUI_KEY_RIGHT:

                    break;
                                #endif
                                  case GUI_KEY_HOME:

                    break;
                                 case GUI_KEY_END:

                    break;
                case GUI_KEY_ENTER:
                                        Sel=ICONVIEW_GetSel(pMsg->hWinSrc);
                    _apModules0[Sel](WM_HBKWIN);
                    break;
            }
                        #endif
            break;

==================================================
                case WM_KEY:
                #if 1
            switch (((WM_KEY_INFO*)(pMsg->Data.p))->Key)
            {
                                #if 1
                                case GUI_KEY_UP:
                                       

                   // GUI_EndDialog(hDlg, 1);

                    break;
                                
                                case GUI_KEY_DOWN:
                                       

                                 
                   // GUI_EndDialog(hDlg, 1);

                    break;
                                
                                case GUI_KEY_LEFT:

                    break;
                                  case GUI_KEY_RIGHT:

                    break;
                                #endif
                                  case GUI_KEY_HOME:
                                        GUI_EndDialog(hItem, 1);
                    break;
                                 case GUI_KEY_END:

                    break;
                case GUI_KEY_ENTER:

                    break;
            }
                        #endif
            break;

回复

使用道具 举报

11

主题

694

回帖

727

积分

金牌会员

积分
727
 楼主| 发表于 2025-5-23 10:24:54 | 显示全部楼层
第一段代码是任务给控件发命令,第二段窗口执行命令,第三段是第二个窗口返回到第一个窗口。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116196
QQ
发表于 2025-5-24 08:35:30 | 显示全部楼层
hqgboy 发表于 2025-5-23 10:24
第一段代码是任务给控件发命令,第二段窗口执行命令,第三段是第二个窗口返回到第一个窗口。

显示屏可以触摸方式吗,触摸方式如果正常,基本可以确定是按键操作有问题
回复

使用道具 举报

0

主题

280

回帖

280

积分

高级会员

积分
280
发表于 2025-5-25 21:58:20 | 显示全部楼层
返回这个窗口的时候需要发送个自定义消息,然后让焦点聚焦到ICONVIEW。没有合适的窗口管理器是这些GUI的最大的问题。PC上的程序,返回的话会自动聚焦到上一个窗口的最后获取焦点的控件。
回复

使用道具 举报

11

主题

694

回帖

727

积分

金牌会员

积分
727
 楼主| 发表于 2025-5-26 10:49:28 | 显示全部楼层
eric2013 发表于 2025-5-24 08:35
显示屏可以触摸方式吗,触摸方式如果正常,基本可以确定是按键操作有问题

触摸屏没问题。我看看V6的智能家居例程。谢谢。
回复

使用道具 举报

11

主题

694

回帖

727

积分

金牌会员

积分
727
 楼主| 发表于 2025-5-26 10:49:55 | 显示全部楼层
regbbs 发表于 2025-5-25 21:58
返回这个窗口的时候需要发送个自定义消息,然后让焦点聚焦到ICONVIEW。没有合适的窗口管理器是这些GUI的最 ...

看起来像没找到焦点。再试试。谢谢。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-9 17:42 , Processed in 0.261853 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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