- 1、本文档共25页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VB日历-课程设计报告
课程设计题目 电子台历
所选题目:电子台历
难度:两星级**
知识点:(1)非矩形窗口;(2)动态数组;(3)配置文件的读写;(4)图片的应用;(5)控件数组;(6)弹出式菜单的使用;(7)公共对话框控件;(8)多模块程序设计;(9)日期函数的使用
前言
“台历”是人们办公、学习的好帮手,人们把它置于案头用来查看日期、星期并可以方便地记事。本题目便编制一个“电子台历”程序,实现台历的一般功能。
功能
启动程序,显示一个圆角矩形窗口,并自动显示当前月的月历。星期从星期一开始排列,星期六和星期天以不同的颜色显示。
鼠标单击可以查看不同的年份和月份(左键增大,右键减小)。单击某个日期会在窗口右半边显示是否有记事。双击左下角的当前日期,可以使台历立即显示当月月历。
在窗体的空白处右击,可以弹出一个菜单,可以对显示的日历日期的颜色、字体,窗体的背影图片加以修改。所有颜色、字体和背影图片的设置会自动保存,下次启动时会自动应用上一次的设置。
从快捷菜单中选择“添加节日”或“添加记事”,可以分别实现对节日和记事的添加。在弹出的对话框中,能同时添加多个节日或记事。
课程设计的详细设计
程序的界面要求是圆角矩形窗口,该功能的实现用到了SetWindowRgn函数。SetWindowRgn函数是属于API函数,在使用时要先声明。其代码如下:
Private Declare Function CreateRoundRectRgn Lib gdi32 (ByVal X1 As Long, _
ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, _
ByVal X3 As Long, ByVal Y3 As Long) As Long
Private Declare Function SetWindowRgn Lib user32 (ByVal hWnd As Long, _
ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
hRgn = CreateRoundRectRgn(0, 0, 570, 400, 80, 100) 创建圆角矩形区域
Call SetWindowRgn(Me.hWnd, hRgn, True)
年份、月份、日期和记事的显示依靠标签的Caption属性。其中,星期和日期的显示使用了控件数组,星期的显示使用了14个控件,日期的显示使用了74个控件。又把各个标签的背影设为透明,这样,便实现了日历界面的显示。
为了使文字有浮于图片之上的立体感,使用了内容相同但颜色伸浅不同且位置错开一点的两个控件来实现。功能的实现依靠以下代码:
Public Sub GetCaption() 产生标签的文字,达到字体有悬浮的效果
Dim j As Integer
lblYear1.Caption = lblYear.Caption
lblYear1.FontName = lblYear.FontName
lblMonth1.Caption = lblMonth.Caption
lblMonth1.FontName = lblMonth.FontName
lblNow1.Caption = lblNow.Caption
lblNow1.FontName = lblNow.FontName
For j = 37 To 73
lblDay(j).Caption = lblDay(73 - j).Caption
Next
lblShowNote1.Caption = lblShowNote.Caption
lblShowNote1.FontName = lblShowNote.FontName
For j = 0 To 6
lblWeek(13 - j).FontName = lblWeek(j).FontName
Next
End Sub
本程序的主窗口使用了漂亮的图片作背影,样例共提供了4个.bmp格式的图片的加载使用以下代码来实现:
Private Sub Pic1_Click() 日历背影图象变化
frmCalMain.Picture = Nothing
frmCalMain.Picture = LoadPicture(App.Path \pics\p1.bmp)
frmMenu.Pic1.Checked = True
frmMenu.Pic2.Checked = False
frmMenu.Pic3.Checked = False
frmMenu
您可能关注的文档
- j江西理工机电传动复习资料.doc
- l连锁超市布点的数学模型最终版.doc
- lenovoz460笔记本使用心得.doc
- 2010北京石景山区高三(上)期末考试英语试卷4901.doc
- 2010大连中考真题数学.doc
- L可逆体系的循环伏安研究.doc
- LVDS_LVPECL_CML之间的电路和参数.doc
- LLC输出电容设计.docx
- 2010大连市高三第二次模拟考试数学试卷及答案.doc
- MAPGIS在矿山中的应用.doc
- 河南省 12YJ5-2 坡屋面.docx
- T∕ZZB 1328-2019 液压打桩锤标准规范.docx
- 13ZJ601 木门窗标准图集.docx
- 渝20M03-2 城市桥梁防撞护栏 (二) 组合式护栏 DJBT50-144.docx
- T∕ZZB 1337-2019 无卤低烟阻燃耐火中压电力电缆.docx
- 个人简历万能表(完整版) .pdf
- 局域网规划与管理练习题 .pdf
- 山西省 12D13 12系列建筑标准设计 广播、扩声与视频显示工程.docx
- 山西省 12N2 12系列建筑标准设计 燃气(油)供热锅炉房工程.docx
- 渝20J01 被动式低能耗建筑围护结构建筑构造 DJBT50-131.docx
文档评论(0)