为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 圆形进度条

圆形进度条

2018-03-13 5页 doc 30KB 30阅读

用户头像

is_531654

暂无简介

举报
圆形进度条圆形进度条 创意圆形进度条的设计与实现 李永红 ,陕西长岭软件开发有限公司~陕西.宝鸡~721013, 摘要:进度条标识机器或软件正在执行的过程~Windows系统提供的进度条呆板而陈旧~本文结合图形工作~制作了比较有新意的圆形进度条~并在VC++中进行了实现。 关键词: 创意进度条 VC程序设计 界面设计 Design and realize of creative round progress bar LiYonghong (Changling software development corporation...
圆形进度条
圆形进度条 创意圆形进度条的设计与实现 李永红 ,陕西长岭软件开发有限公司~陕西.宝鸡~721013, 摘要:进度条标识机器或软件正在执行的过程~Windows系统提供的进度条呆板而陈旧~本文结合图形工作~制作了比较有新意的圆形进度条~并在VC++中进行了实现。 关键词: 创意进度条 VC程序设计 界面设计 Design and realize of creative round progress bar LiYonghong (Changling software development corporation~Shaanxi Baoji~721013 ) Abstract: Progress indicates procedure in operation. In windows system, progress is very dull and obsolete. In this article, we design a new and creative progress. We realize it in VC. Key words: creative progress, VC program, interface design Windows图形系统界面提供了可视化的 图形操作,界面的美观化、实用化越来越受 到人们的重视,通过UI设计制作精美的软 件设计界面替代原来呆板而陈旧的软件界 面大大增强了人们的视觉感受,也充分提高 了软件系统的吸引力。进度条是Windows 系统中比较重要的元素,形象的表述软件的 执行过程,在控制类软件、文件查找类软件、 网络类软件中均具有良好的应用。采用UI 设计人员制作的图形元素,并在VC中给予图1 进度条背景图片 实现,能够制作出独具特色的软件界面。 1. 创意进度条的制作 创意圆形进度条可以在Photoshop软件 中进行制作,为适应将来的VC程序设计, 可以将该进度条分为两个图片,一是进度条 的背景图片,二是进度条图片。具体图片的 制作可以参考相应的Photoshop资料,此处 不再阐述。 图2 进度条图片 2. 创意进度条程序设计 参照VC的CProgressCtrl类,设计point[PointNum].x = width; CRoundProgressCtrl类,类中,同样具有point[PointNum].y = centerY; SetPos( ), StepIt( )等成员函数,也具有标识PointNum++; 当前进度的变量angle,取值在0~360之间。} 在CRoundProgressCtrl类中,重载OnPaint( )if(angle>180) 进行图形绘制的刷新。为防止在图形绘制过{ 程中出现屏幕闪烁,采用双缓存技术进行图point[PointNum].x = centerX; 像的绘制。图像绘制的思路是利用angle计point[PointNum].y = height; 算旋转角度,然后利用计算的点构成区域,PointNum++; 判断进度条图片上的点是否在该区域内,进} 以判断是否实现。具体实现代码如下: if(angle>270) (1) 调用位图并读取相关参数 { bmpBk.LoadBitmap(IDB_ROUND_BK); point[PointNum].x = 0; bmpProgress.LoadBitmap(IDB_PROGRESS); point[PointNum].y = centerY; bmpBk.GetBitmap(&bm); PointNum++; width = bm.bmWidth; } weight = bm.bmHeight; w = (int)(centerX + centerX = width/2; Radius*sin(angle*2*3.14/360.0)+0.5); centerY = height/2; h = (int)(centerY - (2) 获得区域 Radius*cos(angle*2*3.14/360.0)+0.5); POINT point[15]; point[PointNum].x = w; int PointNum = 0; point[PointNum].y = h; CRgn rgn; PointNum++; point[PointNum].x = centerX; rgn.CreatePolygonRgn(point,PointNum,ALTEpoint[PointNum].y = centerY; RNATE); PointNum++; (3) 根据区域逐点判断 point[PointNum].x = centerX; RoundRgn.CreateEllipticRgn(centerX-r,centerpoint[PointNum].y = 0; Y-r,centerX+r,centerY+r); PointNum++; for(int i=0; i90) on(i,j)) { MemDC.BitBlt(i,j,1,1,&memDC,i,j,SRCCOP Y); } (4)图像的输出 pDC->BitBlt(0,0,width,height,&MemDC,0,0, SRCCOPY); 为减少计算时间,根据本文所属图形的特点,建立一个中间区域RoundRgn并加入程序的判断。在中间区域,可以加入表征过程的文本显示。 3. 类的引用 建立一个以对话框模板为基础的类,利用SetTimer设定一个定时器,调用类CRoundProgressCtrl进行数据的刷新,得到程序的最终运行情况。
/
本文档为【圆形进度条】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索