硬汉嵌入式论坛

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

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

[复制链接]

1

主题

2

回帖

1

积分

新手上路

积分
1
发表于 2017-5-4 15:33:10 | 显示全部楼层 |阅读模式
可以响应 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 &#39rogbar'
    //
    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)
                        SZ_STM32_LEDOn(LED1);
               else if(Id == ID_BUTTON_1)
                  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;
  }
}

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115737
QQ
发表于 2017-5-4 15:44:10 | 显示全部楼层
程序没问题,应该是你的触摸底层函数有问题,你看你的截图中的HALT按钮一直处于选中的状态,也就是你的底层函数,即使在松手后还有有效的坐标位置发出来。
重点查下你的这个触摸部分的底层。
回复

使用道具 举报

1

主题

2

回帖

1

积分

新手上路

积分
1
 楼主| 发表于 2017-5-5 14:02:40 | 显示全部楼层
底层没问题,HALT选中状态是我按了之后选中的
回复

使用道具 举报

1

主题

2

回帖

1

积分

新手上路

积分
1
 楼主| 发表于 2017-5-5 14:08:33 | 显示全部楼层

回 eric2013 的帖子

eric2013:程序没问题,应该是你的触摸底层函数有问题,你看你的截图中的HALT按钮一直处于选中的状态,也就是你的底层函数,即使在松手后还有有效的坐标位置发出来。
重点查下你的这个触摸部分的底层。 (2017-05-04 15:44) 
谢谢,你提醒了我,问题找到了 GUI_TOUCH_Exec();放的位置不对
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-15 07:17 , Processed in 0.229889 second(s), 30 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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