- 17
- 0
- 约 13页
- 2017-02-15 发布于北京
- 举报
指针式时钟.ppt
指针式时钟 1.启动Visual C++ 6.0,创建一个MFC AppWizard(exe)的单文档应用程序MyClock。 2.在视图类的OnDraw函数里添加代码,实现绘制时钟,具体如下: //获取客户区 RECT Rect; GetClientRect(Rect); //计算椭圆中心位置 int CenterX = Rect.right/2; int CenterY = Rect.bottom/2; //取当前时间 CTime Time = CTime::GetCurrentTime(); CString str; int i,x,y; CSize size; //创建一支黄色的笔,用来画椭圆 CPen Pen(PS_SOLID,5,RGB(255,255,0)); //设置当前画笔,并记下以前的画笔 CPen *OldPen = pDC-SelectObject(Pen); //绘制钟面椭圆 pDC-Ellipse(5,5,Rect.right-5,Rect.bottom-5); double Radians; //设置字体颜色为红色 pDC-SetTextColor(RGB(255,0,0)); for(i = 1;i = 12;i++){ //格式化钟点值 str.Format(%d,i); size = pDC-GetTextExtent(str,str.GetLength()); Radians = (double)i*6.28/12.0; //计算钟点放置的位置 x = CenterX - (size.cx/2) + (int)((double)(CenterX - 20)* sin(Radians)); y = CenterY - (size.cy/2) - (int)((double)(CenterY - 20)* cos(Radians)); //绘制钟点 pDC-TextOut(x,y,str); } //计算时钟指针的夹角 Radians = (double)Time.GetHour() + (double)Time.GetMinute()/60.0 + (double)Time.GetSecond()/3600.0; Radians *= 6.28/12.0; //创建时钟指针画笔 CPen HourPen(PS_SOLID,5,RGB(0,255,0)); pDC-SelectObject(HourPen); //绘制时钟指针 pDC-MoveTo(CenterX,CenterY); pDC-LineTo(CenterX + (int)((double)(CenterX/3)*sin(Radians)), CenterY - (int)((double)(CenterY/3)*cos(Radians))); Radians = (double)Time.GetMinute()+(double)Time.GetSecond()/60.0; Radians *= 6.28/60.0; //创建分钟指针画笔 CPen MinutePen(PS_SOLID,3,RGB(0,0,255)); pDC-SelectObject(MinutePen); //绘制分钟指针 pDC-MoveTo(CenterX,CenterY); pDC-LineTo(CenterX + (int)((double)(CenterX*2)/3)*sin(Radians), CenterY - (int)((double)(CenterY*2/3)*cos(Radians))); Radians = (double)Time.GetSecond(); Radians *= 6.28/60.0; //创建秒钟指针画笔 CPen SecondPen(PS_SOLID,1,RGB(0,255,255)); pDC-SelectObject(SecondPen); //绘制秒钟指针 pDC-MoveTo(CenterX,CenterY); pDC-LineTo(CenterX + (int)((double)(CenterX*4)/5)*sin(Radians), CenterY - (int)((double)(CenterY*4)/5*cos(Radians))); pDC-SelectObject(OldPen); 3.Ctrl+F5打开Class Wizard,为视图类添加OnCreate函数和OnTimer函数,前者用来设置时钟计时器,后者用来更新窗口。实现代码分别如下:
您可能关注的文档
最近下载
- 30篇考试押题作文满分作文.docx VIP
- 急性胰腺炎急诊诊治专家共识(2024)解读PPT课件.pptx VIP
- 在线网课学堂《西方哲学——从古希腊哲学到晚近欧陆哲学》单元考核测试答案.docx VIP
- 传感器技术及其应用 第3版 项目7 环境量检测.ppt VIP
- 中国数字经济指数(2024).pdf VIP
- K‑12课堂AI使用指南.pdf
- 2025年深海探测设备耐压结构设计报告.docx
- 《中国足球中长期发展规划(2016-2050年)》解读.pdf VIP
- 阿法拉伐分油机中文说明System description.pdf VIP
- 医学科普·临床症状知识文库:外阴萎缩.pdf VIP
原创力文档

文档评论(0)