构建仪表、图表控件的绘制框架
2007-03-17 21:59:17 来源:WEB开发网核心提示: 由此可见,MS Graph Demo的框架不够灵活,构建仪表、图表控件的绘制框架(2),原因在于功能数据和外观数据没有分离,图三是我所设计的框架, 图六同样由YFillBase派生一种特殊的图片填充YFillImage(图七),其它地方的代码不用修改,用一句话概述:由YFillBase填充
由此可见,MS Graph Demo的框架不够灵活,原因在于功能数据和外观数据没有分离。
图三是我所设计的框架,用一句话概述:由YFillBase填充形状(YShapeBase),逻辑(YPaintBase)负责把形状组合起来。
图三
框架由三个基础类YPaintBase,YShapeBase和YFillBase组成。其中YFillBase是填充基础类(简称“填充”),它负责对象颜色、图像的填充,边框等。YShapeBase是基本图形基础类(简称“形状”),由此类派生出简单的基本图形,如:圆,三角,五角星,特殊指针样式……。YPaintBase是逻辑组合基础类(简称“逻辑”),由YPaintBase把YShapeBase和YFillBase进行组合,构建出复杂图形,而复杂图形可由YPaintBase的派生类再次组合。
图四演示了应用框架构建仪表控件的背景和指针。
图四
由YShapeBase派生出,将YPointer对象的pShape指向YRectangle对象,就可以得到矩形指针。同理将YBackground对象的pShape指向YRectangle对象,就得到了矩形背景(图五)。
图五
如果需要升级,添加新的形状如三角形YTriangle(图六),也就相应得到了三角型指针和三角形背景。
图六
同样由YFillBase派生一种特殊的图片填充YFillImage(图七),其它地方的代码不用修改,就可以得到用这种填充的任意形状指针和背景。
- ››构建Windows 8风格应用23-App Bar概述及使用规范
- ››构建域名服务器(DNS)
- ››构建Android平台Google Map应用
- ››构建WinForm 通用速选(全选、反选、清空)组件
- ››构建Wordpress网站首选的5家国外主机
- ››构建高性能和高弹性 WebSphere eXtreme Scale 应用...
- ››构建前端UI组件的新思路
- ››构建 Android 开发环境
- ››构建 pureXML 和 JSON 应用程序,第 3 部分: 为 p...
- ››构建 ESB 中介来将分隔文件转换为服务调用
- ››构建一个 Twitter Web 应用程序
- ››构建基于 CDT 的编辑器,第 1 部分: C/C++ 开发工...
更多精彩
赞助商链接