硬汉嵌入式论坛

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

[emWin] 按照二代示波器程序改,在桌面窗口上创建的按钮,按下没有反应。

[复制链接]

3

主题

5

回帖

14

积分

新手上路

积分
14
发表于 2023-7-12 11:07:30 | 显示全部楼层 |阅读模式
本帖最后由 今天 于 2023-7-12 11:32 编辑

以二代示波器程序作为模板,在做到桌面窗口按钮时,发现创建的按钮按下没有反应,桌面窗口回调函数中的WM_PAINT下面函数可以执行,WM_NOTIFY_PARENT下面函数执行不了。




1.png
2.png
3.png

TEXT.7z

7.26 MB, 下载次数: 3

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106913
QQ
发表于 2023-7-12 14:00:54 | 显示全部楼层
这个对SDRAM性能要求比较高,WM_PAINT消息里面仅做颜色重绘是否正常。
回复

使用道具 举报

3

主题

5

回帖

14

积分

新手上路

积分
14
 楼主| 发表于 2023-7-12 15:20:07 | 显示全部楼层
本帖最后由 今天 于 2023-7-12 15:28 编辑
eric2013 发表于 2023-7-12 14:00
这个对SDRAM性能要求比较高,WM_PAINT消息里面仅做颜色重绘是否正常。

重绘颜色是正常的,但是按钮还是没反应
static void _cbBKWin(WM_MESSAGE * pMsg)
{
        int NCode,Id;
        static u8 beepsta=1;
        
        switch(pMsg->MsgId)
        {
                /* 背景重绘 */
                case WM_PAINT:
                 GUI_SetBkColor(0x905040);
                GUI_Clear();
                  break;
                                
                case WM_NOTIFY_PARENT:
                        Id = WM_GetId(pMsg->hWinSrc);
                        NCode = pMsg->Data.v;
      switch(Id)
      {
                                /* 按键0:打开Filter对话框 */
                          case GUI_ID_BUTTON0:
                                          switch(NCode)
                                          {
                                             case WM_NOTIFICATION_RELEASED:
                                                                 printf("b");
                                                   /* 创建对话框函数 */        
                                                    beepsta=!beepsta;
                                                          PCF8574_WriteBit(BEEP_IO,beepsta); //蜂鸣器反转
                                                     break;
                                          }
                                  break;
                                                
                                /* 按键1:打开Setting对话框 */
                                case GUI_ID_BUTTON1:
                                    switch(NCode)
                                   {
                                                  case WM_NOTIFICATION_RELEASED:
                                                                /* 创建对话框函数 */
                                                          LED0_Toggle;        
                                                          break;
                                 }                                                        
                                  break;
                }
}
回复

使用道具 举报

3

主题

5

回帖

14

积分

新手上路

积分
14
 楼主| 发表于 2023-7-12 15:40:27 | 显示全部楼层
eric2013 发表于 2023-7-12 14:00
这个对SDRAM性能要求比较高,WM_PAINT消息里面仅做颜色重绘是否正常。

仅作颜色重绘是正常的,但是按钮按下还是没反应
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106913
QQ
发表于 2023-7-13 09:38:29 | 显示全部楼层
今天 发表于 2023-7-12 15:40
仅作颜色重绘是正常的,但是按钮按下还是没反应

MainTask所有函数注释掉,逐步开启测试下。
回复

使用道具 举报

3

主题

5

回帖

14

积分

新手上路

积分
14
 楼主| 发表于 2023-7-13 15:29:20 | 显示全部楼层
eric2013 发表于 2023-7-13 09:38
MainTask所有函数注释掉,逐步开启测试下。

谢谢解答,找到问题了。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-9 16:55 , Processed in 0.471312 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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