硬汉嵌入式论坛

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

[AppWizard] 回调函数问题

[复制链接]

13

主题

38

回帖

77

积分

初级会员

积分
77
发表于 2022-6-7 11:32:26 | 显示全部楼层 |阅读模式
本帖最后由 ygrong_2008 于 2022-6-7 11:42 编辑

使用emwin的AppWizard V1.28a_6.2a,生成代码后,在使用模拟器的时候,回调函数中不能添加默认处理的default分支,如下面代码中的红色字体,去掉后程序正常执行但是初始化分支中设置显示的内容不会显示出来。求帮助....
void cbID_SCREEN_00(WM_MESSAGE * pMsg) {
// USER START (Optionally insert additional variables)
#if 1
        WM_HWIN hItem, hWin;
        int     NCode;
        int     Id;
        unsigned char buff[10];
        static unsigned char cnt = 0;
        

        switch (pMsg->MsgId)
        {
                case WM_INIT_DIALOG:
                {
                        //hWin = LISTVIEW_CreateEx(10, 10, 300, 200, pMsg->hWin, WM_CF_SHOW, 0, GUI_ID_LISTVIEW0);
                        hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_01);
                        TEXT_SetFont(hItem, (GUI_FONT*)&GUI_Font24_ASCII);
                        TEXT_SetTextColor(hItem, GUI_RED);
                        TEXT_SetText(hItem, "000");
                }break;

                case WM_NOTIFY_PARENT:
                {
                        Id = WM_GetId(pMsg->hWinSrc);
                        NCode = pMsg->Data.v;
                        switch (Id)
                        {
                                case ID_BUTTON_00:
                                {
                                        switch (NCode)
                                        {
                                                case WM_NOTIFICATION_RELEASED:
                                                {
                                                        sprintf(buff, "%d", cnt++);
                                                        TEXT_SetText(WM_GetDialogItem(pMsg->hWin, ID_TEXT_01), buff);
                                                        WM_InvalidateWindow(WM_GetDialogItem(pMsg->hWin, ID_TEXT_01));
                                                }break;
                                        }
                                }break;
                        }
                }break;

                default:
                        WM_DefaultProc(pMsg);                    break;

               
        }
#endif
// USER END
}


回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106959
QQ
发表于 2022-6-8 11:18:31 | 显示全部楼层
AppWizard有有专门刷这个WM_DefaultProc(pMsg);   不需要再添加了。

然后你看下你这个WM_INIT_DIALOG有执行没。
回复

使用道具 举报

13

主题

38

回帖

77

积分

初级会员

积分
77
 楼主| 发表于 2022-6-8 14:01:54 | 显示全部楼层
eric2013 发表于 2022-6-8 11:18
AppWizard有有专门刷这个WM_DefaultProc(pMsg);   不需要再添加了。

然后你看下你这个WM_INIT_DIALOG有 ...

WM_INIT_DIALOG分支进去了,而且每条语句也都执行了,但是窗口显示出来后并没有显示000(什么都没有显示),只有点击button_00后,文本才有显示出来
回复

使用道具 举报

13

主题

38

回帖

77

积分

初级会员

积分
77
 楼主| 发表于 2022-6-8 14:03:22 | 显示全部楼层
eric2013 发表于 2022-6-8 11:18
AppWizard有有专门刷这个WM_DefaultProc(pMsg);   不需要再添加了。

然后你看下你这个WM_INIT_DIALOG有 ...

WM_INIT_DIALOG里面设置的颜色都字体都起作用了
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106959
QQ
发表于 2022-6-9 08:57:16 | 显示全部楼层
ygrong_2008 发表于 2022-6-8 14:03
WM_INIT_DIALOG里面设置的颜色都字体都起作用了

直接AppWizard添加文本,用AppWizard设置好,正常吗
回复

使用道具 举报

13

主题

38

回帖

77

积分

初级会员

积分
77
 楼主| 发表于 2022-6-9 09:28:15 | 显示全部楼层
eric2013 发表于 2022-6-9 08:57
直接AppWizard添加文本,用AppWizard设置好,正常吗

直接设置的都没有问题,就是在WM_INIT_DIALOG中设置显示的内容不起作用
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106959
QQ
发表于 2022-6-11 09:59:13 | 显示全部楼层
ygrong_2008 发表于 2022-6-9 09:28
直接设置的都没有问题,就是在WM_INIT_DIALOG中设置显示的内容不起作用

估计有什么骚操作,后面我试试。
回复

使用道具 举报

13

主题

38

回帖

77

积分

初级会员

积分
77
 楼主| 发表于 2022-6-13 08:25:26 | 显示全部楼层
eric2013 发表于 2022-6-11 09:59
估计有什么骚操作,后面我试试。

好的,谢谢
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-11 17:01 , Processed in 0.217102 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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