硬汉嵌入式论坛

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

[emWin] 主程序里GUI_SendKeyMsg 窗体为什么收不到呢?

[复制链接]

9

主题

19

回帖

46

积分

新手上路

积分
46
发表于 2021-6-3 19:37:44 | 显示全部楼层 |阅读模式
WM_HWIN hWinx;(全局变量)


WM_HWIN CreateHello_world(void)
{
  hWinx = GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbDialog, WM_HBKWIN, 0, 0);
  return hWinx;
}




main()
{
        ...
        if(++cnt>1)
        {
                printk("time tigger\r\n");
                WM_SetFocus(hWinx);
                GUI_SendKeyMsg(GUI_KEY_TAB,1);
                cnt=0;
        }
        ...
}


static void _cbDialog(WM_MESSAGE * pMsg)
{
  WM_HWIN hItem;
  int     NCode;
  int     Id;
  switch (pMsg->MsgId)
  {
        case WM_INIT_DIALOG:
        ...


        case WM_KEY:
                  printk("got a key!\r\n");
                break;
        ...
  }
}
------------------------------------------
上面我一个延时循环里(1秒钟左右),先给窗体聚焦WM_SetFocus(hWinx),然后发送按键事件GUI_SendKeyMsg(GUI_KEY_TAB,1)
但是回调函数_cbDialog()里面一直没有收到WM_KEY事件,没有打印got a key。
疑问:
我是按照教程先给窗体聚焦,然后再发送按键事件的,按说窗体应该收到WM_KEY事件呀。为啥没收到呢?
非常感谢

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115812
QQ
发表于 2021-6-4 07:31:44 | 显示全部楼层
一点要给支持聚焦的控件发才可以。
回复

使用道具 举报

9

主题

19

回帖

46

积分

新手上路

积分
46
 楼主| 发表于 2021-6-4 09:47:34 | 显示全部楼层
eric2013 发表于 2021-6-4 07:31
一点要给支持聚焦的控件发才可以。

好的  谢谢
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-20 12:37 , Processed in 0.613816 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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