硬汉嵌入式论坛

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

[emWin] 坐日历遇到的问题

[复制链接]

8

主题

21

回帖

45

积分

新手上路

积分
45
发表于 2016-11-28 20:56:31 | 显示全部楼层 |阅读模式
  CreateMenu(WM_HBKWIN);            //在桌面窗口创建菜单
  WM_SetCallback(WM_HBKWIN,_SetCallback);  //设置桌面的回调函数


void _SetCallback(WM_MESSAGE* pMsg)  
{     
    switch (pMsg->MsgId)  / /用DEBUG调试时的参数指针pMsg->MsgId = 0x0000002E
    {
        case WM_PAINT:   //用DEBUG调试时的参数指针WM_PAINT = 0x0000000F
             GUI_Clear();
             GUI_SetFont(&GUI_Font24B_ASCII);        
                    ShowSolarCalender();           
         break;
        case WM_MENU:      //用DEBUG调试时的参数指针WM_MENU = 0X0000002C      
             OnMenu(pMsg);   
         break;

        default:
                  WM_DefaultProc(pMsg);
               break;
    }
}
这是我设置日历对话框的回调函数,用DEBUG调试时发现 ,传入的指针消息地址一直不和case下的匹配,
请问这是什么原因造成的?望解答。
回复

使用道具 举报

9

主题

42

回帖

69

积分

初级会员

大牛的形成也是时间与技术的积累

积分
69
QQ
发表于 2016-12-14 23:43:25 | 显示全部楼层
第一,switch里的消息ID不对,应该用触发源消息的ID。第二,这样写回调函数,要对设置前的旧回调函数做处理,不然容易出问题
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-14 17:58 , Processed in 0.416001 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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