richedit插入gif实例下载:
1、创建ATL复合文档控件。可通过wizard创建。
下面是创建OLE控件的最小头文件
// CSimpleOleObject
class ATL_NO_VTABLE CSimpleOleObject :
public CComObjectRootEx<CComSingleThreadModel>,
public IDispatchImpl<ISimpleOleObject, &IID_ISimpleOleObject, &LIBID_atlsdLib, /*wMajor =*/ 1, /*wMinor =*/ 0>,
public IPersistStreamInitImpl<CSimpleOleObject>,
public IOleControlImpl<CSimpleOleObject>,
public IOleObjectImpl<CSimpleOleObject>,
public IOleInPlaceActiveObjectImpl<CSimpleOleObject>,
public IViewObjectExImpl<CSimpleOleObject>,
public IOleInPlaceObjectWindowlessImpl<CSimpleOleObject>,
#ifdef _WIN32_WCE // 要在 Windows CE 上正确加载该控件,要求 IObjectSafety
public IObjectSafetyImpl<CSimpleOleObject, INTERFACESAFE_FOR_UNTRUSTED_CALLER>,
#endif
public CComCoClass<CSimpleOleObject, &CLSID_SimpleOleObject>,
public CComCompositeControl<CSimpleOleObject>
{
public:
CSimpleOleObject()
{
m_bWindowOnly = TRUE;
CalcExtent(m_sizeExtent);
}
DECLARE_OLEMISC_STATUS(OLEMISC_RECOMPOSEONRESIZE |
OLEMISC_CANTLINKINSIDE |
OLEMISC_INSIDEOUT |
OLEMISC_ACTIVATEWHENVISIBLE |
OLEMISC_SETCLIENTSITEFIRST
)
DECLARE_REGISTRY_RESOURCEID(IDR_SIMPLEOLEOBJECT)
BEGIN_COM_MAP(CSimpleOleObject)
COM_INTERFACE_ENTRY(ISimpleOleObjec