This sample demonstrates how to create a very basic custom renderer and use it in ArcMap.
The renderer draws symbology for point, line and polygon feature layers, rendering
all features with the same symbol.

How to use:

Add a point, polyline, or polygon layer to your dataframe.

In the VBA Editor, go to Tools > References, and Browse to this sample's dll
and select it.

In the ThisDocument module, copy-paste the following procedure:

'+++ This VBA script demonstrates use of the custom renderer clsMyRenderer
Public Sub Test_Renderer()
Dim pDoc As IMxDocument
Dim pMap As IMap
Dim pFeatLyr As IFeatureLayer
Dim pGeoFeatLyr As IGeoFeatureLayer
Dim pRen As IFeatureRenderer
Dim i As Long
Set pDoc = ThisDocument
Set pMap = pDoc.ActiveView.FocusMap
'+++ walk through the layers collection, and get the first feature layer
For i = 0 To pMap.LayerCount - 1
If TypeOf pMap.Layer(i) Is IFeatureLayer Then
Set pFeatLyr = pMap.Layer(i)
Exit For
End If
Next i
'+++ create a new MyRenderer, and assign it to the featurelayer
Set pRen = New CustomRenderer.clsMyRenderer
If TypeOf pFeatLyr Is IGeoFeatureLayer Then
Set pGeoFeatLyr = pFeatLyr
Set pGeoFeatLyr.Renderer = pRen
'+++ refresh the map
pDoc.ActiveView.Refresh
pDoc.UpdateContents
End If
End Sub

Run the procedure. You should see that the default renderer gets replaced by
clsMyRenderer.

Save the ArcMap document as "MyRenderer.mxd". Exit ArcMap.

Start ArcMap again and open "MyRenderer.mxd" file. You should
see that the layer is still drawn using clsMyRenderer.