EXTCTL.H
资源名称:MSDN_VC98.zip [点击查看]
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:2k
源码类别:
Windows编程
开发平台:
Visual C++
- class CTestContainer98Item;
- class CTestContainer98View;
- extern const IID IID_ITC98ExtendedControl;
- #define DISPID_EXT_NAME 0x80010000
- #define DISPID_EXT_POSITIONX 0x80010001
- #define DISPID_EXT_POSITIONY 0x80010002
- #define DISPID_EXT_ACTIVATE 0x80010100
- #define DISPID_EXT_DEACTIVATE 0x80010101
- #define DISPID_EXT_UIACTIVATE 0x80010102
- #define DISPID_EXT_UIDEACTIVATE 0x80010103
- class CExtendedControl :
- public ITCExtendedControl
- {
- public:
- CExtendedControl();
- ~CExtendedControl();
- HRESULT Init( REFCLSID clsidControl, CTestContainer98Item* pItem );
- static HRESULT CreateInstance( REFCLSID clsidControl,
- CTestContainer98Item* pItem, IUnknown* pOuterUnknown, REFIID iid,
- void** ppInterface );
- public:
- STDMETHOD_( ULONG, AddRef )();
- STDMETHOD_( ULONG, Release )();
- STDMETHOD( QueryInterface )( REFIID iid, void** ppInterface );
- public:
- STDMETHOD( GetIDsOfNames )( REFIID iid, LPOLESTR* ppszNames, UINT nNames,
- LCID lcid, DISPID* pDispIDs );
- STDMETHOD( GetTypeInfo )( UINT iTypeInfo, LCID lcid,
- ITypeInfo** ppTypeInfo );
- STDMETHOD( GetTypeInfoCount )( UINT* pnInfoCount );
- STDMETHOD( Invoke )( DISPID dispidMember, REFIID iid, LCID lcid,
- WORD wFlags, DISPPARAMS* pdpParams, VARIANT* pvarResult,
- EXCEPINFO* pExceptionInfo, UINT* piArgError );
- STDMETHOD( get_Name )( BSTR* pbstrName );
- STDMETHOD( put_Name )( BSTR bstrName );
- STDMETHOD( get_PositionX )( long* px );
- STDMETHOD( put_PositionX )( long x );
- STDMETHOD( get_PositionY )( long* py );
- STDMETHOD( put_PositionY )( long y );
- STDMETHOD( get_SizeX )( long* px );
- STDMETHOD( put_SizeX )( long x );
- STDMETHOD( get_SizeY )( long* py );
- STDMETHOD( put_SizeY )( long y );
- STDMETHOD( raw_Activate )();
- STDMETHOD( raw_Deactivate )();
- STDMETHOD( raw_UIActivate )();
- STDMETHOD( raw_UIDeactivate )();
- protected:
- HRESULT InternalInvoke( DISPID dispidMember, REFIID iid, LCID lcid,
- WORD wFlags, DISPPARAMS* pdpParams, VARIANT* pvarResult,
- EXCEPINFO* pExceptionInfo, UINT* piArgError );
- protected:
- ULONG m_nRefCount;
- IUnknown* m_pControl;
- IDispatchPtr m_pInnerDispatch;
- ITypeInfoPtr m_pTypeInfo;
- CTestContainer98Item* m_pItem;
- CTestContainer98View* m_pView;
- VARIANT_BOOL m_tVisible;
- _bstr_t m_bstrName;
- CPoint m_ptPosition;
- CSize m_size;
- };