设 计 名 称
分时区时钟
> 学 号:XXXXXXXXXXXX
学 院:软件
专 业:软件工程
总页数:11
大作业的要求
1、文字部分:
、班级、、 、共几页,每一页开头均打印,设计说明,所用相关程序代码;
2、设计说明:设计名称、设计思路、设计特点和编程框架;
3、图形部分:
(1)良好的交互式界面设计;
(2)至少三种变换;
(3)丰富协调的色彩;
(4)良好的设计技巧和匀称美观的视觉效果;
4、打印:
一律采用A4号纸,利用图形大小或多图方式充分表现出自己的设计特点。汉字用小四号宋体,程序代码用五号字体(且分栏)。
程序简介:
主题是一个时钟,获取计算机当前时间,并显示与时钟上部,指针指向正确的时间,外面嵌套一个类似时钟的拥有时间刻度的圆圈,表示一个时钟。
特点:
不仅仅拥有一个时钟,可以用户自己更改时区,计算机得到响应以后外围的始终刻度会根据得到的数据发生旋转,准确的计算出北京时间与用户当前所选时区的时差并转到相应的位置,从表面看是一个时钟,其实根据刻度可以看到两个不同地方的时间......
始终可以给根据用户拖动窗口的大小而改变大小
作业要求实现:
实现菜单选项里的设置时区差,得到与北京时间不相同时区的此刻时间,设置颜色,时钟颜色和小星星的颜色统一调整。外围的时钟有一个可以自己变换的指针形状,这个形状用户也可以自己设置,
图形实现旋转,平移,大小比例,对称的变换......
此图片主要显示可以经过用户的设置,图形颜色的变化
实现窗口变小,则时钟会随着改变大小
时区选择窗口,外围的时钟刻度进行旋转相应的角度
颜色设置
部分代码显示:
图中小星星代码
void CPo_ClockView::xing(CDC *pDC, int x, int y)
{
CPen P1(PS_SOLID, 2, m_ref);//星星1
CPen*p01dPen=NULL;
p01dPen=pDC->SelectObject(&P1);
..................
227+y},{156+x,240+y},{139+x,242+y},{151+x,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);
double secondRadians = m_second * 2 * PI / 60;
double minuteRadians = m_minute * 2 * PI / 60 + secondRadians / 60;
double hourRadians = m_hour * 2 * PI / 12 + minuteRadians / 60;
CPen secondPen(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(oldPen);
CPen minutePen(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);
CPen hourPen(PS_S
上一篇:
基于VC++MP3播放器的课程设计
下一篇:
超市进销存管理系统的开发