资源描述:
《基于VC++分时区时钟系统设计(含源文件).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、设计名称分时区时钟姓名:XXXXX学号:XXXXXXXXXXXX学院:软件学院专业:软件工程总页数:11大作业的要求1、文字部分:学院、班级、姓名、学号、共几页,每一页开头均打印姓名,设计说明,所用相关程序代码;2、设计说明:设计名称、设计思路、设计特点和编程框架;3、图形部分:(1)良好的交互式界面设计;(2)至少三种变换;(3)丰富协调的色彩;(4)良好的设计技巧和匀称美观的视觉效果;4、打印:一律采用A4号纸,利用图形大小或多图方式充分表现出自己的设计特点。汉字用小四号宋体,程序代码用五号字体(且分栏)。程序简介:主题是一个时钟,获取计算机当
2、前时间,并显示与时钟上部,指针指向正确的时间,外面嵌套一个类似时钟的拥有时间刻度的圆圈,表示一个时钟。特点:不仅仅拥有一个时钟,可以用户自己更改时区,计算机得到响应以后外围的始终刻度会根据得到的数据发生旋转,准确的计算出北京时间与用户当前所选时区的时差并转到相应的位置,从表面看是一个时钟,其实根据刻度可以看到两个不同地方的时间……始终可以给根据用户拖动窗口的大小而改变大小作业要求实现:实现菜单选项里的设置时区差,得到与北京时间不相同时区的此刻时间,设置颜色,时钟颜色和小星星的颜色统一调整。外围的时钟有一个可以自己变换的指针形状,这个形状用户也可以自
3、己设置,图形实现旋转,平移,大小比例,对称的变换……此图片主要显示可以经过用户的设置,图形颜色的变化实现窗口变小,则时钟会随着改变大小时区选择窗口,外围的时钟刻度进行旋转相应的角度颜色设置部分代码显示:图中小星星代码voidCPo_ClockView::xing(CDC*pDC,intx,inty){CPenP1(PS_SOLID,2,m_ref);//星星1CPen*p01dPen=NULL;p01dPen=pDC->SelectObject(&P1);………………227+y},{156+x,240+y},{139+x,242+y},{151+x
4、,257+y},{149+x,274+y},{164+x,268+y},{180+x,275+y},{178+x,257+y},{190+x,243+y},{175+x,239+y}};pDC->Polygon(pt1,10);pDC->SelectObject(p01dPen);pDC->SelectObject(p01dBrush);}时钟代码pDC->SelectObject(oldPen);doublesecondRadians=m_second*2*PI/60;doubleminuteRadians=m_minute*2*PI/60+se
5、condRadians/60;doublehourRadians=m_hour*2*PI/12+minuteRadians/60;CPensecondPen(PS_SOLID,2,RGB(0,255,0));…………………………………………….cycle(pDC,centerX+double(clockRadius*1.2)*sin(secondRadians),centerY-double(clockRadius*1.2)*cos(secondRadians),5,m_linestyle);//外围时间秒针pDC->SelectObject(ol
6、dPen);CPenminutePen(PS_SOLID,4,RGB(255,255,0));oldPen=pDC->SelectObject(&minutePen);pDC->MoveTo(centerX,centerY);pDC->LineTo(centerX+double(minuteRadius)*sin(minuteRadians),centerY-double(minuteRadius)*cos(minuteRadians));pDC->SelectObject(oldPen);CPenhourPen(PS_SOLID,8,RGB(25
7、5,0,255));oldPen=pDC->SelectObject(&hourPen);pDC->MoveTo(centerX,centerY);pDC->LineTo(centerX+double(hourRadius)*sin(hourRadians),centerY-double(hourRadius)*cos(hourRadians));pDC->SelectObject(oldPen);CBrushabrush(RGB(255,0,0));CBrush*oldbrush=pDC->SelectObject(&abrush);pDC->E
8、llipse(centerX-8,centerY-8,centerX+8,centerY+8);pDC->SelectOb