Did you ponder about the point that Igor made?

ON_CONTROL_RANGE macro works for pre-defined notifications from MFC controls. I doubt that it could be extended to handle events fired by your ActiveX controls (even if your ActiveX control is generated by MFC).

So your first approach seems quite the way i.e. using ON_EVENT in the EVENT SINK MAP

What you need is something like ON_EVENT_RANGE and it is precisely what is available.

Please see ON_EVENT_RANGE macro