OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4090|回复: 5

emwin532版本,button控件,只能响应点击事件,不能响应释放事件???

[复制链接]

5

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2011-9-6
在线时间
10 小时
发表于 2017-5-4 15:22:13 | 显示全部楼层 |阅读模式
1金钱
可以响应 case WM_NOTIFICATION_CLICKED:  这里的程序可以执行,按键按下,会连续响应这个事件。
不能响应case WM_NOTIFICATION_RELEASED:这里的程序进不去,一直不能响应释放事件。
程序如下,请问怎么解决????????

static void _cbDialog(WM_MESSAGE * pMsg) {
  WM_HWIN hItem;
  int NCode, Id;
  // USER START (Optionally insert additional variables)
  // USER END

  switch (pMsg->MsgId) {
  case WM_INIT_DIALOG:

    // Initialization of 'Button'
    //
    hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_0);
    BUTTON_SetText(hItem, "HALT");
    BUTTON_SetFont(hItem, GUI_FONT_20_ASCII);
    BUTTON_SetFocussable(hItem,0);

    //
    // Initialization of 'Button'
    //
    hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_1);
    BUTTON_SetText(hItem, "NEXT");
    BUTTON_SetFont(hItem, GUI_FONT_20_ASCII);
    BUTTON_SetFocussable(hItem,0);
    //
    // Initialization of 'Framewin'
    //
       
    hItem = pMsg->hWin;
    FRAMEWIN_SetTextColor(hItem, GUI_MAKE_COLOR(0x00FF0000));
    jason_FRAMEWIN = hItem;

    // Initialization of 'Progbar'
    //
    jason_PROGBAR =WM_GetDialogItem(pMsg->hWin, ID_PROGBAR_0);
    PROGBAR_SetFont(jason_PROGBAR, GUI_FONT_8X16_ASCII);  
    PROGBAR_SetMinMax(jason_PROGBAR, 0, 255);


    // USER START (Optionally insert additional code for further widget initialization)
       
        //BUTTON_SetReactOnLevel();
    // USER END
    break;
  // USER START (Optionally insert additional message handling)
  // USER END

  case  WM_NOTIFY_PARENT:
        Id = WM_GetId(pMsg->hWinSrc);
        NCode = pMsg->Data.v;
        switch(NCode)
        {
                  case WM_NOTIFICATION_CLICKED:
                if(Id == ID_BUTTON_0)
                //   prog_i = 0;
                                  SZ_STM32_LEDOn(LED1);
                                else if(Id == ID_BUTTON_1)
                //   prog_i = 200;
                  SZ_STM32_LEDOff(LED1);
              break;
                        case WM_NOTIFICATION_RELEASED:
                                  if(Id == ID_BUTTON_0)
                   prog_i = 100;
                                else if(Id == ID_BUTTON_1)
                   prog_i = 240;
                          break;
          default:
              break;
        }

            break;
  default:
    WM_DefaultProc(pMsg);
    break;
  }
}

QQ截图20170504151650.png

最佳答案

查看完整内容[请看2#楼]

已解决,GUI_TOUCH_Exec()放的位置不对
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2011-9-6
在线时间
10 小时
 楼主| 发表于 2017-5-4 15:22:14 | 显示全部楼层
已解决,GUI_TOUCH_Exec()放的位置不对
回复

使用道具 举报

5

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2011-9-6
在线时间
10 小时
 楼主| 发表于 2017-5-4 15:22:54 | 显示全部楼层
红色部分case  进不去
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165353
金钱
165353
注册时间
2010-12-1
在线时间
2108 小时
发表于 2017-5-4 19:15:21 | 显示全部楼层
说明不满足这个条件了。看看什么情况才会满足
回复

使用道具 举报

5

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2011-9-6
在线时间
10 小时
 楼主| 发表于 2017-5-5 13:58:50 | 显示全部楼层
正点原子 发表于 2017-5-4 19:15
说明不满足这个条件了。看看什么情况才会满足

释放按钮满足,就是emwin没有检测到按键释放
回复

使用道具 举报

3

主题

7

帖子

0

精华

新手上路

积分
23
金钱
23
注册时间
2018-7-6
在线时间
7 小时
发表于 2018-10-4 20:11:52 | 显示全部楼层
楼主,能具体说一下吗?GUI_TOUCH_Exec()放的位置有什么讲究?
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-26 15:08

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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