C++ MFC 做个时钟显示软件.docx

上传人:牧羊曲112 文档编号:3060441 上传时间:2023-03-10 格式:DOCX 页数:4 大小:37.70KB
返回 下载 相关 举报
C++ MFC 做个时钟显示软件.docx_第1页
第1页 / 共4页
C++ MFC 做个时钟显示软件.docx_第2页
第2页 / 共4页
C++ MFC 做个时钟显示软件.docx_第3页
第3页 / 共4页
C++ MFC 做个时钟显示软件.docx_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《C++ MFC 做个时钟显示软件.docx》由会员分享,可在线阅读,更多相关《C++ MFC 做个时钟显示软件.docx(4页珍藏版)》请在三一办公上搜索。

1、C+ MFC 做个时钟显示软件现在以最短的时间带领大家进行一个C+ MFC做的时钟软件,下面分几步叙述,相信大家看完本期实验,自己也能独立做个这样的软件 第一启动Visual C+ 6.0,创建一个单文档应用程序,工程名为Clock 。 第二 打开ClassWizard对话框为CClockView类添加WM_TIMER和WM_CREAT消息函数 代码如下。void CClockView:OnTimer(UINT nIDEvent) int CClockView:OnCreate(LPCREATESTRUCT lpCreateStruct) 我们现在分别添加,截图如下 if (CView:OnC

2、reate(lpCreateStruct) = -1) return -1; / TODO: Add your message handler code here and/or call default InvalidateRect(NULL,true); UpdateWindow; CView:OnTimer(nIDEvent); / TODO: Add your specialized creation code here SetTimer(1,1000,NULL); return 0; 第三打开ClockView.cpp文件添加头文件,调用数学函数库。在其他函数中添加代码。 #inclu

3、de math.h截图如下 第四在其他函数中添加代码。代码如下 void CClockView:OnDraw(CDC* pDC) CClockDoc* pDoc = GetDocument; ASSERT_VALID(pDoc); / TODO: add draw code for native data here /获取客户区大小 RECT Rect问1; GetClientRect(&Rect); /计算椭圆中心位置 int CenterX = Rect.right/2; int CenterY = Rect.bottom/2; /区域最右边的一半 /区域最下边的一半 CTime Time

4、问2= CTime:GetCurrentTime; /取当前时间 CString str; int i,x,y; CSize size问3; /创建一支黑色的笔 CPen Pen(PS_SOLID,5,RGB(0,0,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 GetTextExtent

5、问4 (str,str.GetLength); /计算时间点放置的位置 Radians = (double)i*6.28/12.0; x=CenterX-(size.cx/2)+(int)(double)(CenterX-0)*sin(Radians); y=CenterY-(size.cy/2)-(int)(double)(CenterY-20)*cos(Radians); /绘制12个时间点 pDC-TextOut(x,y,str); /计算时钟指针的夹角 Radians = (double)Time.GetHour + (double)Time.GetMinute/60.0 + (dou

6、ble)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.GetMi

7、nute+(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 = (d

8、ouble)Time.GetSecond; Radians *= 6.28/60.0; /创建秒钟指针画笔 CPen SecondPen(PS_SOLID,1,RGB(255,0,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); 第五 编译运行截图如下 第六 在此总结一下 C+并不可怕,只要我们有信心,一定能BEAT it 我们一定能胜利学会C+

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号