-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDeskBand.h
52 lines (41 loc) · 1.31 KB
/
DeskBand.h
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
#pragma once
#include <Windows.h>
#include <ShlObj.h>
class CDeskBand : public IDeskBand2, IPersistStream, IObjectWithSite
{
public:
// IUnknown
STDMETHODIMP QueryInterface(REFIID riid, void **ppvObject);
STDMETHODIMP_(ULONG) AddRef();
STDMETHODIMP_(ULONG) Release();
// IOleWindow
STDMETHODIMP GetWindow(HWND *phWnd);
STDMETHODIMP ContextSensitiveHelp(BOOL fEnterMode);
// IDockingWindow
STDMETHODIMP ShowDW(BOOL fShow);
STDMETHODIMP CloseDW(DWORD dwReserved);
STDMETHODIMP ResizeBorderDW(LPCRECT prcBorder, IUnknown *punkToolbarSite, BOOL fReserved);
// IDeskBand
STDMETHODIMP GetBandInfo(DWORD dwBandID, DWORD dwViewMode, DESKBANDINFO *pdbi);
// IDeskBand2
STDMETHODIMP CanRenderComposited(BOOL *pfCanRenderComposited);
STDMETHODIMP SetCompositionState(BOOL fCompositionEnabled);
STDMETHODIMP GetCompositionState(BOOL *pfCompositionEnabled);
// IPersist
STDMETHODIMP GetClassID(CLSID *pClassID);
// IPersistStream
STDMETHODIMP IsDirty();
STDMETHODIMP Load(IStream *pStm);
STDMETHODIMP Save(IStream *pStm, BOOL fClearDirty);
STDMETHODIMP GetSizeMax(ULARGE_INTEGER *pcbSize);
// IObjectWithSite
STDMETHODIMP SetSite(IUnknown *pUnkSite);
STDMETHODIMP GetSite(REFIID riid, void **ppvSite);
CDeskBand();
protected:
~CDeskBand();
private:
LONG m_cRef;
DWORD m_dwBandID;
BOOL m_fCompositionEnabled;
};