首先控件宿主应该先要重写一个虚函数
The framework calls this member function to obtain ambient property values from a window that contains OLE controls.
virtual BOOL OnAmbientProperty( COleControlSite* pSite, DISPID dispid, VARIANT* pvar );
Parameters
-
pSite
-
Pointer to the site of the control that requested the ambient property.
-
dispid
-
The dispatch ID of the requested ambient property.
-
pvar
-
Pointer to a caller-allocated VARIANT structure, through which the ambient property's value will be returned.
Override this function to alter the default ambient property values returned by an OLE control container to its controls.
Any
ambient property requests not handled by an overriding function should be forwarded to the base class implementation.
然后在函数中添加
if (dispid == DISPID_AMBIENT_DLCONTROL) { pvar-> vt = VT_I4; pvar-> lVal = DLCTL_NO_SCRIPTS | DLCTL_NO_JAVA | DLCTL_NO_RUNACTIVEXCTLS | DLCTL_NO_DLACTIVEXCTLS; return TRUE; }