public override void OnRenderNormalView(Graphics g, DataModel data, Pen linePen, Brush lineBrush, Brush TextBrush, Brush DataBrush, Font FontText, Font FontData) { if (!data.IsSpecialAreaDataModel) { float dd = drawFrame(g, linePen, TextBrush, FontText); if (_MyAnimalion != null && !_MyAnimalion.IsPrepareAnimaled) { string str = (int)(dd * 100) + "%"; if (int.Parse(TextAndData[1]) >= MaxNum) { str = "任务完成!"; } ReportViewUtils.drawString(g, LocationModel.Location_Up_Up, str, FontData, DataBrush, EStartX, EStartY + EViewHeight - 3 * TextSize, EViewWidth, Height - EStartY - EViewHeight); } //绘制指针//坐标定位 Point p0; Point p1; Point p2; Point p3; LocationPointer(dd, out p0, out p1, out p2, out p3); GraphicsPath path = GraphicalDesignUtils.CreatePath(p0, p1, p2, p3); g.FillPath(lineBrush, path); path.Dispose(); } }
public override void AnimalionDraw(System.Drawing.Graphics graphics, DetailDataModel data, System.Drawing.Pen pen, System.Drawing.Brush brush, System.Drawing.Font font, object[] args) { drawFrame(graphics, pen, brush, font); if (TextAndData != null) { Point p0; Point p1; Point p2; Point p3; string str = Index / MaxIndex * 100 + "%"; if (Index / MaxIndex >= ((int.Parse(TextAndData[1]) * 1.0f) / MaxNum)) { //Index = int.Parse(TextAndData[1]); str = (int)((int.Parse(TextAndData[1]) * 1.0f) / MaxNum * 100) + "%"; //完成任务 if (int.Parse(TextAndData[1]) >= MaxNum) { str = "任务完成!"; isAutoUpdateData = false; } LocationPointer((int.Parse(TextAndData[1]) * 1.0f) / MaxNum, out p0, out p1, out p2, out p3); } else { LocationPointer(Index / MaxIndex, out p0, out p1, out p2, out p3); } ReportViewUtils.drawString(graphics, LocationModel.Location_Up_Up, str, font, brush, EStartX, EStartY + EViewHeight - 2 * TextSize, EViewWidth, EViewHeight / 2); GraphicsPath path = GraphicalDesignUtils.CreatePath(p0, p1, p2, p3); graphics.FillPath(brush, path); path.Dispose(); } }