Intanto fai un nuovo progetto "ActiveX control" per crearti il progetto per il tuo ocx. Ti ritroverai una speceie di form senza bordi che è il contesto grafico del tuo OCX. Poi per programmare fai esattamente come un progetto normale, per fare riferimento al controllo stesso usi la parola chiave UserControl.

METODI: Sono semplicemente delle sub o delle function Public.
PROPRIETA: devi dichiarare separatamente quelle per leggere e per scrivere i valori delle proprietà, dichiarandone una sola poi impostare una proprietà di sola lettura o sola scrittura.
qui hai un esempio per la lettura e la scrittura delle proprtietà
codice:
Public Property Get NomePriprietà() as string
...
end property
Public Property Set (val as string)
...
end property
ovviamente i parametri possono essere quelli scielti da te
EVENTI: li dichiari all'inizio del codice, fuori da qualsiasi sub o function.
codice:
Public Event NomeEvento(str as string)
per per scatenare un evento leggibile dalla form che contiene il controllo (come ai con qualsiasi controllo)
codice:
...
RaiseEvent NomeEvento("questo è un parametro dell'evento")
...