- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
- 一北仓大厦空调施工组织设计.doc
- 一卡通系统技术要求V3.doc
- 汽车企业2012年年度销售总量统计分析(精选).docx
- 一卷竣工资料.docx
- 一体式涡街流量计和XRLUGB-40涡街流量计价格.docx
- 一体机老化作业指导书.doc
- 一品金泰施工总结.doc
- 《一个小山村的故事》教案.doc
- 《一元二次方程根的判别式》试题.doc
- 一座“走进语文教学之门”的界碑文档.doc
- 2025内蒙古通辽市第三人民医院招聘21人笔试参考题库附答案解析.docx
- 2025贵州力搏人力资源服务有限公司储备幼儿专任教师、保育员300人笔试模拟试题及答案解析.docx
- 2025贵州力搏人力资源服务有限公司储备幼儿专任教师、保育员300人笔试备考试题及答案解析.docx
- 鲁南技师学院招聘教师考试真题2024 .pdf
- 2025内蒙古通辽市第三人民医院招聘21人笔试模拟试题及答案解析.docx
- 2025年合肥市红星路小学招聘编外聘用教师笔试参考题库附答案解析.docx
- 2025年合肥市红星路小学招聘编外聘用教师笔试模拟试题及答案解析.docx
- 2025广东东莞寮步镇人民政府招聘编外人员13人笔试模拟试题及答案解析.docx
- 2025贵州六盘水六枝特区城市管理综合行政执法局招聘城镇公益性岗位25人笔试模拟试题及答案解析.docx
- 2025安徽芜湖市南陵县机关事业单位招募就业见习人员35人笔试模拟试题及答案解析.docx
文档评论(0)