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

[宝典]圆形进度条

2018-03-13 5页 doc 29KB 12阅读

用户头像

is_511210

暂无简介

举报
[宝典]圆形进度条[宝典]圆形进度条 创意圆形进度条的设计与实现 李永红 ,陕西长岭软件开发有限公司~陕西.宝鸡~721013, 摘要:进度条标识机器或软件正在执行的过程~Windows系统提供的进度条呆板而陈旧~本文结合图形工作~制作了比较有新意的圆形进度条~并在VC++中进行了实现。 关键词: 创意进度条 VC程序设计 界面设计 Design and realize of creative round progress bar LiYonghong (Changling software development corporatio...
[宝典]圆形进度条
[宝典]圆形进度条 创意圆形进度条的与实现 李永红 ,陕西长岭软件开发有限公司~陕西.宝鸡~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资料,此处 centerX = width/2;centerY = height/2; (2) 获得区域 POINT point[15]; int PointNum = 0; CRgn rgn; point[PointNum].x = centerX; point[PointNum].y = centerY;图2 进度条图片 PointNum++; 2. 创意进度条程序设计 point[PointNum].x = centerX; 参照VC的CProgressCtrl类,设计 point[PointNum].y = 0; CRoundProgressCtrl类,类中,同样具有 PointNum++; SetPos( ), StepIt( )等成员函数,也具有标识 point[PointNum].x = width;当前进度的变量angle,取值在0~360之间。 在CRoundProgressCtrl类中,重载OnPaint( ) point[PointNum].y = 0; 进行图形绘制的刷新。为防止在图形绘制过 PointNum++; 程中出现屏幕闪烁,采用双缓存技术进行图 if(angle>90) 像的绘制。图像绘制的思路是利用angle计 { 算旋转角度,然后利用计算的点构成区域, point[PointNum].x = width;判断进度条图片上的点是否在该区域内,进 以判断是否实现。具体实现代码如下: point[PointNum].y = centerY; (1) 调用位图并读取相关参数 PointNum++; } bmpBk.LoadBitmap(IDB_ROUND_BK); if(angle>180) { bmpProgress.LoadBitmap(IDB_PROGRESS);point[PointNum].x = centerX; bmpBk.GetBitmap(&bm); point[PointNum].y = height; width = bm.bmWidth; PointNum++; weight = bm.bmHeight; } (4)图像的输出 if(angle>270) pDC->BitBlt(0,0,width,height,&MemDC,0,0, { SRCCOPY); point[PointNum].x = 0; 为减少计算时间,根据本文所属图形的point[PointNum].y = centerY;特点,建立一个中间区域RoundRgn并加入 程序的判断。在中间区域,可以加入表征过PointNum++; 程的文本显示。 } 3. 类的引用 w = (int)(centerX + 建立一个以对话框模板为基础的类,利Radius*sin(angle*2*3.14/360.0)+0.5);用SetTimer设定一个定时器,调用类 CRoundProgressCtrl进行数据的刷新,得到h = (int)(centerY - 程序的最终运行情况。 Radius*cos(angle*2*3.14/360.0)+0.5); point[PointNum].x = w; point[PointNum].y = h; PointNum++; rgn.CreatePolygonRgn(point,PointNum,ALTERNATE); (3) 根据区域逐点判断 RoundRgn.CreateEllipticRgn(centerX-r,centerY-r,centerX+r,centerY+r); for(int i=0; i
/
本文档为【[宝典]圆形进度条】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索