硬汉嵌入式论坛

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

[有问必答] 咨询下407开发板智能家居实例的问题

[复制链接]

62

主题

77

回帖

263

积分

高级会员

积分
263
发表于 2016-3-4 17:34:11 | 显示全部楼层 |阅读模式
开发板智能家居的代码,有个问题咨询下:

*********************************************************************************************************
*    函 数 名: InitDialog1
*    功能说明: 回调函数中的控件初始化消息
*    形    参:pMsg 指针参数            
*    返 回 值: 无
*********************************************************************************************************
*/
void InitDialog1(WM_MESSAGE * pMsg)
{
    WM_HWIN hWin = pMsg->hWin;
    //
    //FRAMEWIN
    //
      FRAMEWIN_SetFont(hWin,&GUI_FontHZ12);
      FRAMEWIN_SetText(hWin, _aBitmapItem[s_ucSelIconIndex].pText);
    FRAMEWIN_SetTextAlign(hWin,GUI_TA_VCENTER|GUI_TA_CENTER);
    FRAMEWIN_AddCloseButton(hWin, FRAMEWIN_BUTTON_RIGHT, 0);
    FRAMEWIN_AddMaxButton(hWin, FRAMEWIN_BUTTON_RIGHT, 1);
    FRAMEWIN_AddMinButton(hWin, FRAMEWIN_BUTTON_RIGHT, 2);
    FRAMEWIN_SetTitleHeight(hWin,28);
}

/*


/*
*********************************************************************************************************
*    函 数 名: _cbCallback1
*    功能说明: 回调函数
*    形    参:pMsg 指针参数            
*    返 回 值: 无
*********************************************************************************************************
*/
static void _cbCallback1(WM_MESSAGE * pMsg)
{
    int NCode, Id;
    WM_HWIN hWin = pMsg->hWin;
    switch (pMsg->MsgId)
    {
        case WM_PAINT:
            break;
        
        case WM_INIT_DIALOG:
            InitDialog1(pMsg);
            break;
        
        case WM_KEY:
            switch (((WM_KEY_INFO*)(pMsg->Data.p))->Key)
            {
                case GUI_KEY_ESCAPE:
                    GUI_EndDialog(hWin, 1);
                    break;
                case GUI_KEY_ENTER:
                    GUI_EndDialog(hWin, 0);
                    break;
            }
            break;
            
        case WM_NOTIFY_PARENT:
            Id = WM_GetId(pMsg->hWinSrc);
            NCode = pMsg->Data.v;        
            switch (Id)
            {
                case GUI_ID_OK:
                    if(NCode==WM_NOTIFICATION_RELEASED)
                        GUI_EndDialog(hWin, 0);
                    break;
                case GUI_ID_CANCEL:
                    if(NCode==WM_NOTIFICATION_RELEASED)
                        GUI_EndDialog(hWin, 0);
                    break;

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

这里初始化控件并没有GUI_ID_CANCEL和GUI_ID_OK 两个控件,为什么回调函数里面里面对这2个事件有消息处理?求解释
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117546
QQ
发表于 2016-3-4 19:48:10 | 显示全部楼层
这两个是使用uCGUIBulider4.x创建的时候自动生成的,没有进行删除。
回复

使用道具 举报

62

主题

77

回帖

263

积分

高级会员

积分
263
 楼主| 发表于 2016-3-4 19:52:38 | 显示全部楼层

回 eric2013 的帖子

eric2013:这两个是使用uCGUIBulider4.x创建的时候自动生成的,没有进行删除。 (2016-03-04 19:48) 
那为什么创建的最大、最小化、关闭按钮,在回调函数里面没有对应的事件处理,却可以关闭或者最小化等?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117546
QQ
发表于 2016-3-4 19:59:30 | 显示全部楼层

回 freertos 的帖子

freertos:那为什么创建的最大、最小化、关闭按钮,在回调函数里面没有对应的事件处理,却可以关闭或者最小化等? (2016-03-04 19:52) 
这个是被emWin封装起来了。点击后会自动处理相应的回调代码
回复

使用道具 举报

62

主题

77

回帖

263

积分

高级会员

积分
263
 楼主| 发表于 2016-3-4 21:52:23 | 显示全部楼层

回 eric2013 的帖子

eric2013:这个是被emWin封装起来了。点击后会自动处理相应的回调代码 (2016-03-04 19:59) 
哦,谢谢明白了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-14 01:15 , Processed in 0.042786 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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