硬汉嵌入式论坛

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

[emWin] 自己折腾了一个日历控件,但是获取到的返回数据不对?

[复制链接]

692

主题

3583

回帖

5684

积分

论坛元老

积分
5684
发表于 2018-5-27 14:23:04 | 显示全部楼层 |阅读模式
本帖最后由 hpdell 于 2018-5-27 14:27 编辑

                        
日历的初始值设置为 2018.05.27               

case GUI_ID_CALENDAR0:   // 触摸日历时,可以运行到这个地方,
                                        {
                                                CALENDAR_DATE  pDate;        
                                                
                                                CALENDAR_GetDate           (pMsg->hWin, &pDate);
                                       
                                                printf("GUI_ID_CALENDAR0 = 20%d.%d.%d\n", pDate.Year,pDate.Month, pDate.Day);
                                                
                                                pDate.Year = 67;
                                                CALENDAR_SetDate(pMsg->hWin, &pDate);   // 日期设置也没有反应,????
                                        }
                                        break;

返回的数据

GUI_ID_CALENDAR0 = 2015.268435455.134648321
GUI_ID_CALENDAR0 = 2015.268435455.134648321

貌似不管触摸日历的任何地方,都返回上面的类容 ??

1112.png

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2018-5-28 01:02:23 | 显示全部楼层
参考我这些例子中万年历的设计:
https://forum.anfulai.cn/forum.ph ... A%C4%A9%B8%A3%C0%FB
回复

使用道具 举报

692

主题

3583

回帖

5684

积分

论坛元老

积分
5684
 楼主| 发表于 2018-5-31 19:56:13 | 显示全部楼层
本帖最后由 hpdell 于 2018-5-31 20:17 编辑
eric2013 发表于 2018-5-28 01:02
参考我这些例子中万年历的设计:
https://forum.anfulai.cn/forum.ph ... A%C4%A9%B8%A3%C0%FB

你好,参考那个日历程序,获取点击位置的数据可以了,

但是 设置数据还是不行,

我现在是每s跟新一次,在定时器消息里面


/*
*********************************************************************************************************
*        函 数 名: GUI_ClockUpdate
*        功能说明: 更新时间
*        形    参: pMsg  消息指针变量
*        返 回 值: 无
*********************************************************************************************************
*/
static void GUI_ClockUpdate(WM_MESSAGE * pMsg)
{
        char buf[30];
        WM_HWIN hWin = pMsg->hWin;
        
        /* Get the RTC current Time */
        HAL_RTC_GetTime(&RtcHandle, &sTime, RTC_FORMAT_BIN);           // 时间与日期需要同时获取,切记切记,
        /* Get the RTC current Date */                                                                                             
        HAL_RTC_GetDate(&RtcHandle, &sDate, RTC_FORMAT_BIN);         
        
        /* 更新时间 */
        sprintf(buf,
                  "时间:%0.2d:%0.2d:%0.2d",
                          sTime.Hours,
                          sTime.Minutes,
                          sTime.Seconds);
        TEXT_SetText(WM_GetDialogItem(hWin, GUI_ID_TEXT0), buf);        
        
        /* 更新日期 */
        sprintf(buf,
              "日期:20%0.2d/%0.2d/%0.2d ",
                  sDate.Year,
                  sDate.Month,
                  sDate.Date);
        TEXT_SetText(WM_GetDialogItem(hWin, GUI_ID_TEXT1), buf);        
        
}



                /* 定时1秒更新一次时间 */
                case WM_TIMER:                     或者在 WM_PAINT 这个消息里面调用也行  ??????????
                        WM_InvalidateRect(hWin, &rRTC);   //指定区域无效化
                        GUI_ClockUpdate(pMsg);  
                        {
                                // 日历数据更新失败 ,原因不明待查 .... ..??
                                CALENDAR_DATE  pDate;        
                                pDate.Year  = sDate.Year;
                                pDate.Month = sDate.Month;
                                pDate.Day   = sDate.Date;
                                CALENDAR_SetDate(WM_GetDialogItem(pMsg->hWin,GUI_ID_CALENDAR0), &pDate);
                        }        

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2018-6-1 02:48:26 | 显示全部楼层
hpdell 发表于 2018-5-31 19:56
你好,参考那个日历程序,获取点击位置的数据可以了,

但是 设置数据还是不行,

现在的问题是设计的数据不更新还是RTC不更新。
回复

使用道具 举报

692

主题

3583

回帖

5684

积分

论坛元老

积分
5684
 楼主| 发表于 2018-6-1 09:34:32 | 显示全部楼层
eric2013 发表于 2018-6-1 02:48
现在的问题是设计的数据不更新还是RTC不更新。

rtc 数据能够正常更新的,现在只是 rtc 的日期不能够写入到 日历的控件函数里面
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2018-6-2 01:27:21 | 显示全部楼层
hpdell 发表于 2018-6-1 09:34
rtc 数据能够正常更新的,现在只是 rtc 的日期不能够写入到 日历的控件函数里面

那就是你的程序问题了,再研究下我的那个日历例子。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-19 23:59 , Processed in 0.041845 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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