万年历实训报告.docVIP

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
万年历实训报告

实 训 报 告 桌面万年历设计与开发 专业名称班 级学 号: 信息科学与工程学院 二零一年十月 目 录 1. 概述2.相关技术.1 Windows API 函数....................................3 2.2 Win32消息体制......................................4 总体设计与详细设计3.1系统模块划分........................................5 3.2 主要功能模块.......................................6 4. 编码实现..............................................6 4.1 Main.c.............................................6 4.2 ClockDlg.c.........................................24 4.3 CalendarDlg.c......................................29 5. 实训中遇到的主要问题及解决方法........................31 6. 实训体会..............................................32 1. 概述2. 相关技术 这些函数是WINDOWS提供给应用程序与操作系统的接口,他们犹如“积木块”一样,可以搭建出各种界面丰富,功能灵活的应用程序。所以可以认为API函数是构筑整个WINDOWS框架的基石,2.2 Win32 消息机制 Windows操作系统最大的特点就是其图形化的操作界面,其图形化界面是建立在其消息处理机制这个基础之上的。如果不理解Windows消息处理机制,肯定无法深入的理解Windows编程。Windows消息分为系统消息和用户自定义消息3. 总体设计与详细设计 CreateRoundRectRgn()函数实现圆角矩形,在日历的右上端和右下端分别输出阳历的当前年月份,及阴历的天干地支年等。也输出了当年的生肖和生肖图片。 2、判断农历的每月有多少天,调用判断是否为闰年的函数,若为闰年,则定义二月为29天,通过一switch函数输出十二个月的天数。 3、利用SelectObject(),TextOut(),wsprintf()等函数写入标题(设置不同颜色),利用MoveToEx()和LineTo()函数画出日历表的标题框并填充颜色。 4、调用公历转为农历的函数并用for循环获得每日的农历日期,并调CreateSolidBrush(函数标出当天的日期,该日期显示框填充为不同的颜色。还有节日的标注。 5、对日历上的几个按钮进行设置,使得当年月份发生改变时,日历表可以正常显示。 6、日历表背景的更换,运用了LoadImage(),SelectObject()等函数实现。 7、获得本地系统时间,在表盘上的正确位置输出当天的年月日(调用CreateFont函数按角度输出)及当地时间和星期,公历和阳历均显示,还输出了天干地支和生肖。 8、扩展功能增加了皮肤设置和整点报时功能。 3.1 系统模块划分 其中,程序入口模块,是Windows程序的入口函数,在该模块内创建主界面。消息处理模块负责响应用户的鼠标和键盘操作。时间处理模块负责时间运算和显示。界面贴图模块负责主界面的图像显示。 以下是各模块的详细说明: 模块名称 模块功能 输入 输出 其他说明 程序入口模块 在该模块内创建主界面 Windows调用 主界面创建;定时器安装 Windows程序的入口函数 消息处理模块 负责响应用户的鼠标和键盘操作 用户和键盘鼠标输,Windows其他事件 消息处理 Windows程序的窗口函数 时间处理模块 负责时间运算和显示 定时器间隔 时间 Windows程序的定时器回调函数 界面贴图模块 负责主界面的图像显示 位图 位图显示 无 3.2 主要功能模块 4. 编码实现 Main.c #include Windows.h #include string.h #include resource.h #pragma comment(lib,WinLib.lib) void SetDlgMenuID(UINT nMainDlgID,UINT nCalendarDlgID,UINT nMenuID); void SetButtonID(UINT nCalendarID,UINT nExitID,UI

文档评论(0)

didala + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档