Occurs before the object passed in the chartObject argument has been rendered.
Private Sub Object_BeforeRender(ByVal drawObject As ChChartDraw, ByVal chartObject As Object, Cancel As ByRef)
Object The name of the ChartSpace object that you are trapping this event for.
drawObject A reference to the ChChartDraw object. Use the DrawType property of the returned object to determine what type of rendering is about to occur.
chartObject The object that is to be rendered. Use the TypeName function to determine the type of the object.
Cancel Set the Value property of this object to True to cancel the rendering of the object represented by chartObject .
You must set the AllowRenderEvents and AllowPointsRenderEvents properties to True in order to use this event with all chart objects.
This example illustrates how you can use the BeforeRender and AfterRender events together to create custom gridlines. The BeforeRender event cancels the rendering of the gridlines and the AfterRender event draws custom gridlines.
Sub ChartSpace1_BeforeRender(drawObject, chartObject, Cancel) ' Check to see if the next object to be rendered ' is a gridline. If TypeName(chartObject) = "ChGridlines" Then ' Cancel the rendering of gridlines. Cancel.Value = True End If End Sub Sub ChartSpace1_AfterRender(drawObject, chartObject) Dim chChart1 Dim plPlotArea Dim lLeft Dim lRight Dim lHeight Dim lTop Dim lIncrement Dim chConstants Dim iCtr Set chConstants = ChartSpace1.Constants ' Set a variable to the first chart in Chartspace1. Set chChart1 = ChartSpace1.Charts(0) ' Set a variable to the plot area of the chart. Set plPlotArea = chChart1.PlotArea ' Check to see if the rendered object is a gridline. If TypeName(chartObject) = "ChGridlines" Then ' The next four lines of code use the extents of ' the plot area to calculate the dimensions of the line ' to be drawn. lLeft = plPlotArea.Left lTop = plPlotArea.Top lRight = plPlotArea.Right lHeight = plPlotArea.Bottom - lTop ' Determine the increment to use between gridlines. ' Change the divisor to adjust the increment. lIncrement = lHeight / 10 ' The next three lines of code set the properties of the ' line to be drawn. drawObject.Line.DashStyle = chConstants.chLineRoundDot drawObject.Line.Color = "Green" drawObject.Line.Weight = chConstants.owcLineWeightMedium For iCtr = 1 To 9 ' Draw the line. drawObject.DrawLine lLeft, lTop + iCtr * lIncrement, _ lRight, lTop + iCtr * lIncrement Next End If End Sub