-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathExtCtl.H
More file actions
83 lines (71 loc) · 2.6 KB
/
Copy pathExtCtl.H
File metadata and controls
83 lines (71 loc) · 2.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
// File: ExtCtl.H
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// This source code is only intended as a supplement to the
// Microsoft Classes Reference and related electronic
// documentation provided with the library.
// See these sources for detailed information regarding the
// Microsoft C++ Libraries products.
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;
};