4 public CComCoClass
<CMenuDeskBar
, &CLSID_MenuDeskBar
>,
5 public CComObjectRootEx
<CComMultiThreadModelNoCS
>,
6 public IOleCommandTarget
,
7 public IServiceProvider
,
8 public IInputObjectSite
,
11 public IObjectWithSite
,
13 public IInitializeObject
17 // *** IMenuPopup methods ***
18 virtual HRESULT STDMETHODCALLTYPE
Popup(POINTL
*ppt
, RECTL
*prcExclude
, MP_POPUPFLAGS dwFlags
);
19 virtual HRESULT STDMETHODCALLTYPE
OnSelect(DWORD dwSelectType
);
20 virtual HRESULT STDMETHODCALLTYPE
SetSubMenu(IMenuPopup
*pmp
,BOOL fSet
);
22 // *** IDeskBar methods ***
23 virtual HRESULT STDMETHODCALLTYPE
SetClient(IUnknown
*punkClient
);
24 virtual HRESULT STDMETHODCALLTYPE
GetClient(IUnknown
**ppunkClient
);
25 virtual HRESULT STDMETHODCALLTYPE
OnPosRectChangeDB(RECT
*prc
);
27 // *** IOleWindow methods ***
28 virtual HRESULT STDMETHODCALLTYPE
GetWindow(HWND
*phwnd
);
29 virtual HRESULT STDMETHODCALLTYPE
ContextSensitiveHelp(BOOL fEnterMode
);
31 // *** IObjectWithSite methods ***
32 virtual HRESULT STDMETHODCALLTYPE
SetSite(IUnknown
*pUnkSite
);
33 virtual HRESULT STDMETHODCALLTYPE
GetSite(REFIID riid
,PVOID
*ppvSite
);
35 // *** IBanneredBar methods ***
36 virtual HRESULT STDMETHODCALLTYPE
SetIconSize(THIS_ DWORD iIcon
);
37 virtual HRESULT STDMETHODCALLTYPE
GetIconSize(THIS_ DWORD
* piIcon
);
38 virtual HRESULT STDMETHODCALLTYPE
SetBitmap(THIS_ HBITMAP hBitmap
);
39 virtual HRESULT STDMETHODCALLTYPE
GetBitmap(THIS_ HBITMAP
* phBitmap
);
41 // *** IInitializeObject methods ***
42 virtual HRESULT STDMETHODCALLTYPE
Initialize(THIS
);
44 // *** IOleCommandTarget methods ***
45 virtual HRESULT STDMETHODCALLTYPE
QueryStatus(const GUID
*pguidCmdGroup
, ULONG cCmds
, OLECMD prgCmds
[], OLECMDTEXT
*pCmdText
);
46 virtual HRESULT STDMETHODCALLTYPE
Exec(const GUID
*pguidCmdGroup
, DWORD nCmdID
, DWORD nCmdexecopt
, VARIANT
*pvaIn
, VARIANT
*pvaOut
);
48 // *** IServiceProvider methods ***
49 virtual HRESULT STDMETHODCALLTYPE
QueryService(REFGUID guidService
, REFIID riid
, void **ppvObject
);
51 // *** IInputObjectSite methods ***
52 virtual HRESULT STDMETHODCALLTYPE
OnFocusChangeIS(THIS_ LPUNKNOWN lpUnknown
, BOOL bFocus
);
54 // *** IInputObject methods ***
55 virtual HRESULT STDMETHODCALLTYPE
UIActivateIO(THIS_ BOOL bActivating
, LPMSG lpMsg
);
56 virtual HRESULT STDMETHODCALLTYPE
HasFocusIO(THIS
);
57 virtual HRESULT STDMETHODCALLTYPE
TranslateAcceleratorIO(THIS_ LPMSG lpMsg
);
59 DECLARE_REGISTRY_RESOURCEID(IDR_MENUDESKBAR
)
60 DECLARE_NOT_AGGREGATABLE(CMenuDeskBar
)
61 DECLARE_PROTECT_FINAL_CONSTRUCT()
63 BEGIN_COM_MAP(CMenuDeskBar
)
64 COM_INTERFACE_ENTRY_IID(IID_IMenuPopup
, IMenuPopup
)
65 COM_INTERFACE_ENTRY_IID(IID_IOleCommandTarget
, IOleCommandTarget
)
66 COM_INTERFACE_ENTRY_IID(IID_IServiceProvider
, IServiceProvider
)
67 COM_INTERFACE_ENTRY_IID(IID_IInputObjectSite
, IInputObjectSite
)
68 COM_INTERFACE_ENTRY_IID(IID_IInputObject
, IInputObject
)
69 COM_INTERFACE_ENTRY_IID(IID_IDeskBar
, IMenuPopup
)
70 COM_INTERFACE_ENTRY_IID(IID_IOleWindow
, IMenuPopup
)
71 COM_INTERFACE_ENTRY_IID(IID_IObjectWithSite
, IObjectWithSite
)
72 COM_INTERFACE_ENTRY_IID(IID_IBanneredBar
, IBanneredBar
)
73 COM_INTERFACE_ENTRY_IID(IID_IInitializeObject
, IInitializeObject
)