WEB开发网
开发学院软件开发VC 构建仪表、图表控件的绘制框架 阅读

构建仪表、图表控件的绘制框架

 2007-03-17 21:59:17 来源:WEB开发网   
核心提示: 图七在实际项目中,类似指针,背景的元素很多,应用此框架可以使编码减少,功能倍增,易于升级、维护,构建仪表、图表控件的绘制框架(3), 图九下图演示应用框架构建类似MS Graph Demo的Pie图表和Bar图表,是不是很容易加入填充图像和在Pie图Bar图间转换^_^, 图十框架的在绘

图七

在实际项目中,类似指针,背景的元素很多,应用此框架可以使编码减少,功能倍增,易于升级、维护。

图九

下图演示应用框架构建类似MS Graph Demo的Pie图表和Bar图表,是不是很容易加入填充图像和在Pie图Bar图间转换^_^。

图十

框架的在绘制仪表控件中的应用

1、YFillBase和YShapeBase的配合使用:

YFillGradient fill;
YEllipse shape;
shape.SetFill(&fill);
shape.Draw(g);
2、透明仪表罩的绘制

表罩由2个YRange和1个YEllipes,YRange和YEllipes用特定填充。

FillGradient glassFill;
glassFill.Border.Hide();
glassFill.Background.Show();
glassFill.Background.FillColor.SetColor(20,240,240,240);
glassFill.Background.FillEndColor.SetColor(180,120,120,120);
glassFill.Background.SetGradientType(YGradientType_ForwardDiagonal);
YEllipse glassBK;
glassBK.SetFill(&glassFill);
glassBK.Draw(g);
//反光
YFillGradient lightFill;
lightFill.Border.Hide();
lightFill.Background.FillColor.SetColor(210,255,255,255);
lightFill.Background.FillEndColor.SetColor(210,255,255,255);
YRange range;
range.SetStartWidth(width);
range.SetEndWidth(width);
range.SetFill(&lightFill);
range.SetPlacement(Inside);
range.SetSweepAngle(24);
range.SetStartAngle(110);
range.Draw(g);
range.SetStartAngle(136);
range.Draw(g);
3、刻度的绘制

由于框架的原因,可以非常方便的更改刻度的形状和填充。(加入一个最基本的刻度)

上一页  1 2 3 4  下一页

Tags:构建 仪表 图表

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接