ReactOS 0.4.15-dev-7907-g95bf896
CBrandBand Class Reference

#include <brandband.h>

Inheritance diagram for CBrandBand:
Collaboration diagram for CBrandBand:

Public Member Functions

 CBrandBand ()
 
 ~CBrandBand ()
 
void StartAnimation ()
 
void StopAnimation ()
 
void SelectImage ()
 
STDMETHOD() GetBandInfo (DWORD dwBandID, DWORD dwViewMode, DESKBANDINFO *pdbi) override
 
STDMETHOD() SetSite (IUnknown *pUnkSite) override
 
STDMETHOD() GetSite (REFIID riid, void **ppvSite) override
 
STDMETHOD() GetWindow (HWND *lphwnd) override
 
STDMETHOD() ContextSensitiveHelp (BOOL fEnterMode) override
 
STDMETHOD() CloseDW (DWORD dwReserved) override
 
STDMETHOD() ResizeBorderDW (const RECT *prcBorder, IUnknown *punkToolbarSite, BOOL fReserved) override
 
STDMETHOD() ShowDW (BOOL fShow) override
 
STDMETHOD() HasFocusIO () override
 
STDMETHOD() TranslateAcceleratorIO (LPMSG lpMsg) override
 
STDMETHOD() UIActivateIO (BOOL fActivate, LPMSG lpMsg) override
 
STDMETHOD() GetClassID (CLSID *pClassID) override
 
STDMETHOD() IsDirty () override
 
STDMETHOD() Load (IStream *pStm) override
 
STDMETHOD() Save (IStream *pStm, BOOL fClearDirty) override
 
STDMETHOD() GetSizeMax (ULARGE_INTEGER *pcbSize) override
 
STDMETHOD() OnWinEvent (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult) override
 
STDMETHOD() IsWindowOwner (HWND hWnd) override
 
STDMETHOD() QueryStatus (const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[], OLECMDTEXT *pCmdText) override
 
STDMETHOD() Exec (const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut) override
 
STDMETHOD() QueryService (REFGUID guidService, REFIID riid, void **ppvObject) override
 
STDMETHOD() GetTypeInfoCount (UINT *pctinfo) override
 
STDMETHOD() GetTypeInfo (UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo) override
 
STDMETHOD() GetIDsOfNames (REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId) override
 
STDMETHOD() Invoke (DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr) override
 
LRESULT OnSize (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnEraseBkgnd (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnPaint (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnTimer (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
- Public Member Functions inherited from ATL::CComObjectRootEx< CComMultiThreadModelNoCS >
 ~CComObjectRootEx ()
 
ULONG InternalAddRef ()
 
ULONG InternalRelease ()
 
void Lock ()
 
void Unlock ()
 
HRESULT _AtlInitialConstruct ()
 
- Public Member Functions inherited from ATL::CComObjectRootBase
 CComObjectRootBase ()
 
 ~CComObjectRootBase ()
 
void SetVoid (void *)
 
HRESULT _AtlFinalConstruct ()
 
HRESULT FinalConstruct ()
 
void InternalFinalConstructAddRef ()
 
void InternalFinalConstructRelease ()
 
void FinalRelease ()
 
HRESULT GetBandInfo ([in] DWORD dwBandID, [in] DWORD dwViewMode, [in, out] DESKBANDINFO *pdbi)
 
- Public Member Functions inherited from IDockingWindow
HRESULT ShowDW ([in] BOOL fShow)
 
HRESULT CloseDW ([in] DWORD dwReserved)
 
HRESULT ResizeBorderDW ([in] LPCRECT prcBorder, [in] IUnknown *punkToolbarSite, [in] BOOL fReserved)
 
HRESULT GetWindow ([out] HWND *phwnd)
 
HRESULT ContextSensitiveHelp ([in] BOOL fEnterMode)
 
- Public Member Functions inherited from IUnknown
HRESULT QueryInterface ([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
 
ULONG AddRef ()
 
ULONG Release ()
 
- Public Member Functions inherited from IObjectWithSite
HRESULT SetSite ([in] IUnknown *pUnkSite)
 
HRESULT GetSite ([in] REFIID riid, [out, iid_is(riid)] PVOID *ppvSite)
 
HRESULT IsDirty ()
 
HRESULT Load ([in, unique] IStream *pStm)
 
HRESULT Save ([in, unique] IStream *pStm, [in] BOOL fClearDirty)
 
HRESULT GetSizeMax ([out] ULARGE_INTEGER *pcbSize)
 
HRESULT GetClassID ([out] CLSID *pClassID)
 
HRESULT QueryStatus ([in, unique] const GUID *pguidCmdGroup, [in] ULONG cCmds, [in, out, size_is(cCmds)] OLECMD prgCmds[], [in, out, unique] OLECMDTEXT *pCmdText)
 
HRESULT Exec ([in, unique] const GUID *pguidCmdGroup, [in] DWORD nCmdID, [in] DWORD nCmdexecopt, [in, unique] VARIANT *pvaIn, [in, out, unique] VARIANT *pvaOut)
 
- Public Member Functions inherited from IServiceProvider
HRESULT QueryService ([in] REFGUID guidService, [in] REFIID riid, [out] void **ppvObject)
 
HRESULT RemoteQueryService ([in] REFGUID guidService, [in] REFIID riid, [out, iid_is(riid)] IUnknown **ppvObject)
 
- Public Member Functions inherited from IDispatch
HRESULT GetTypeInfoCount ([out] UINT *pctinfo)
 
HRESULT GetTypeInfo ([in] UINT iTInfo, [in] LCID lcid, [out] ITypeInfo **ppTInfo)
 
HRESULT GetIDsOfNames ([in] REFIID riid, [in, size_is(cNames)] LPOLESTR *rgszNames, [in] UINT cNames, [in] LCID lcid, [out, size_is(cNames)] DISPID *rgDispId)
 
HRESULT Invoke ([in] DISPID dispIdMember, [in] REFIID riid, [in] LCID lcid, [in] WORD wFlags, [in, out] DISPPARAMS *pDispParams, [out] VARIANT *pVarResult, [out] EXCEPINFO *pExcepInfo, [out] UINT *puArgErr)
 
HRESULT RemoteInvoke ([in] DISPID dispIdMember, [in] REFIID riid, [in] LCID lcid, [in] DWORD dwFlags, [in] DISPPARAMS *pDispParams, [out] VARIANT *pVarResult, [out] EXCEPINFO *pExcepInfo, [out] UINT *pArgErr, [in] UINT cVarRef, [in, size_is(cVarRef)] UINT *rgVarRefIdx, [in, out, size_is(cVarRef)] VARIANTARG *rgVarRef)
 

Private Attributes

CComPtr< IDockingWindowSite > fSite
 
DWORD fProfferCookie
 
int fCurrentFrame
 
int fMaxFrameCount
 
HBITMAP fImageBitmap
 
int fBitmapSize
 
DWORD fAdviseCookie
 

Additional Inherited Members

- Public Types inherited from IOleWindow
typedef IOleWindowLPOLEWINDOW
 
- Public Types inherited from IUnknown
typedef IUnknownLPUNKNOWN
 
- Public Types inherited from IObjectWithSite
typedef IObjectWithSiteLPOBJECTWITHSITE
 
- Public Types inherited from IPersistStream
typedef IPersistStreamLPPERSISTSTREAM
 
- Public Types inherited from IPersist
typedef IPersistLPPERSIST
 
- Public Types inherited from IOleCommandTarget
enum  OLECMDF {
  OLECMDF_SUPPORTED = 0x1 , OLECMDF_ENABLED = 0x2 , OLECMDF_LATCHED = 0x4 , OLECMDF_NINCHED = 0x8 ,
  OLECMDF_INVISIBLE = 0x10 , OLECMDF_DEFHIDEONCTXTMENU = 0x20
}
 
enum  OLECMDTEXTF { OLECMDTEXTF_NONE = 0 , OLECMDTEXTF_NAME = 1 , OLECMDTEXTF_STATUS = 2 }
 
enum  OLECMDEXECOPT { OLECMDEXECOPT_DODEFAULT = 0 , OLECMDEXECOPT_PROMPTUSER = 1 , OLECMDEXECOPT_DONTPROMPTUSER = 2 , OLECMDEXECOPT_SHOWHELP = 3 }
 
enum  OLECMDID {
  OLECMDID_OPEN = 1 , OLECMDID_NEW = 2 , OLECMDID_SAVE = 3 , OLECMDID_SAVEAS = 4 ,
  OLECMDID_SAVECOPYAS = 5 , OLECMDID_PRINT = 6 , OLECMDID_PRINTPREVIEW = 7 , OLECMDID_PAGESETUP = 8 ,
  OLECMDID_SPELL = 9 , OLECMDID_PROPERTIES = 10 , OLECMDID_CUT = 11 , OLECMDID_COPY = 12 ,
  OLECMDID_PASTE = 13 , OLECMDID_PASTESPECIAL = 14 , OLECMDID_UNDO = 15 , OLECMDID_REDO = 16 ,
  OLECMDID_SELECTALL = 17 , OLECMDID_CLEARSELECTION = 18 , OLECMDID_ZOOM = 19 , OLECMDID_GETZOOMRANGE = 20 ,
  OLECMDID_UPDATECOMMANDS = 21 , OLECMDID_REFRESH = 22 , OLECMDID_STOP = 23 , OLECMDID_HIDETOOLBARS = 24 ,
  OLECMDID_SETPROGRESSMAX = 25 , OLECMDID_SETPROGRESSPOS = 26 , OLECMDID_SETPROGRESSTEXT = 27 , OLECMDID_SETTITLE = 28 ,
  OLECMDID_SETDOWNLOADSTATE = 29 , OLECMDID_STOPDOWNLOAD = 30 , OLECMDID_ONTOOLBARACTIVATED = 31 , OLECMDID_FIND = 32 ,
  OLECMDID_DELETE = 33 , OLECMDID_HTTPEQUIV = 34 , OLECMDID_HTTPEQUIV_DONE = 35 , OLECMDID_ENABLE_INTERACTION = 36 ,
  OLECMDID_ONUNLOAD = 37 , OLECMDID_PROPERTYBAG2 = 38 , OLECMDID_PREREFRESH = 39 , OLECMDID_SHOWSCRIPTERROR = 40 ,
  OLECMDID_SHOWMESSAGE = 41 , OLECMDID_SHOWFIND = 42 , OLECMDID_SHOWPAGESETUP = 43 , OLECMDID_SHOWPRINT = 44 ,
  OLECMDID_CLOSE = 45 , OLECMDID_ALLOWUILESSSAVEAS = 46 , OLECMDID_DONTDOWNLOADCSS = 47 , OLECMDID_UPDATEPAGESTATUS = 48 ,
  OLECMDID_PRINT2 = 49 , OLECMDID_PRINTPREVIEW2 = 50 , OLECMDID_SETPRINTTEMPLATE = 51 , OLECMDID_GETPRINTTEMPLATE = 52 ,
  OLECMDID_PAGEACTIONBLOCKED = 55 , OLECMDID_PAGEACTIONUIQUERY = 56 , OLECMDID_FOCUSVIEWCONTROLS = 57 , OLECMDID_FOCUSVIEWCONTROLSQUERY = 58 ,
  OLECMDID_SHOWPAGEACTIONMENU = 59 , OLECMDID_ADDTRAVELENTRY = 60 , OLECMDID_UPDATETRAVELENTRY = 61 , OLECMDID_UPDATEBACKFORWARDSTATE = 62 ,
  OLECMDID_OPTICAL_ZOOM = 63 , OLECMDID_OPTICAL_GETZOOMRANGE = 64 , OLECMDID_WINDOWSTATECHANGED = 65 , OLECMDID_ACTIVEXINSTALLSCOPE = 66 ,
  OLECMDID_UPDATETRAVELENTRY_DATARECOVERY = 67 , OLECMDID_SHOWTASKDLG = 68 , OLECMDID_POPSTATEEVENT = 69 , OLECMDID_VIEWPORT_MODE = 70 ,
  OLECMDID_LAYOUT_VIEWPORT_WIDTH = 71 , OLECMDID_VISUAL_VIEWPORT_EXCLUDE_BOTTOM = 72 , OLECMDID_USER_OPTICAL_ZOOM = 73 , OLECMDID_PAGEAVAILABLE = 74 ,
  OLECMDID_GETUSERSCALABLE = 75 , OLECMDID_UPDATE_CARET = 76 , OLECMDID_ENABLE_VISIBILITY = 77 , OLECMDID_MEDIA_PLAYBACK = 78
}
 
typedef IOleCommandTargetLPOLECOMMANDTARGET
 
typedef enum IOleCommandTarget::OLECMDF OLECMDF
 
typedef struct IOleCommandTarget::_tagOLECMD OLECMD
 
typedef struct IOleCommandTarget::_tagOLECMDTEXT OLECMDTEXT
 
typedef enum IOleCommandTarget::OLECMDTEXTF OLECMDTEXTF
 
typedef enum IOleCommandTarget::OLECMDEXECOPT OLECMDEXECOPT
 
typedef enum IOleCommandTarget::OLECMDID OLECMDID
 
- Public Types inherited from IServiceProvider
typedef IServiceProviderLPSERVICEPROVIDER
 
- Public Types inherited from IDispatch
typedef IDispatchLPDISPATCH
 
- Static Public Member Functions inherited from ATL::CComObjectRootBase
static void WINAPI ObjectMain (bool)
 
static const struct _ATL_CATMAP_ENTRYGetCategoryMap ()
 
static HRESULT WINAPI InternalQueryInterface (void *pThis, const _ATL_INTMAP_ENTRY *pEntries, REFIID iid, void **ppvObject)
 
- Public Attributes inherited from ATL::CComObjectRootBase
LONG m_dwRef
 
- Public Attributes inherited from IDispatch
const DISPID DISPID_UNKNOWN = -1
 
const DISPID DISPID_VALUE = 0
 
const DISPID DISPID_PROPERTYPUT = -3
 
const DISPID DISPID_NEWENUM = -4
 
const DISPID DISPID_EVALUATE = -5
 
const DISPID DISPID_CONSTRUCTOR = -6
 
const DISPID DISPID_DESTRUCTOR = -7
 
const DISPID DISPID_COLLECT = -8
 

Detailed Description

Definition at line 23 of file brandband.h.

Constructor & Destructor Documentation

◆ CBrandBand()

CBrandBand::CBrandBand ( )

Definition at line 53 of file brandband.cpp.

54{
56 fCurrentFrame = 0;
59 fBitmapSize = 0;
60 fAdviseCookie = 0;
61}
HBITMAP fImageBitmap
Definition: brandband.h:41
DWORD fProfferCookie
Definition: brandband.h:38
int fBitmapSize
Definition: brandband.h:42
int fMaxFrameCount
Definition: brandband.h:40
DWORD fAdviseCookie
Definition: brandband.h:43
int fCurrentFrame
Definition: brandband.h:39
#define NULL
Definition: types.h:112

◆ ~CBrandBand()

CBrandBand::~CBrandBand ( )

Definition at line 63 of file brandband.cpp.

64{
66}
pKey DeleteObject()

Member Function Documentation

◆ CloseDW()

HRESULT STDMETHODCALLTYPE CBrandBand::CloseDW ( DWORD  dwReserved)
override

Implements IDockingWindow.

Definition at line 223 of file brandband.cpp.

224{
225 ShowDW(FALSE);
226
227 if (IsWindow())
229
230 m_hWnd = NULL;
231
232 return S_OK;
233}
STDMETHOD() ShowDW(BOOL fShow) override
Definition: brandband.cpp:241
#define FALSE
Definition: types.h:117
#define S_OK
Definition: intsafe.h:52
BOOL WINAPI IsWindow(_In_opt_ HWND)
BOOL WINAPI DestroyWindow(_In_ HWND)

◆ ContextSensitiveHelp()

HRESULT STDMETHODCALLTYPE CBrandBand::ContextSensitiveHelp ( BOOL  fEnterMode)
override

Implements IOleWindow.

Definition at line 218 of file brandband.cpp.

219{
220 return E_NOTIMPL;
221}
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ Exec()

HRESULT STDMETHODCALLTYPE CBrandBand::Exec ( const GUID pguidCmdGroup,
DWORD  nCmdID,
DWORD  nCmdexecopt,
VARIANT pvaIn,
VARIANT pvaOut 
)
override

Implements IOleCommandTarget.

Definition at line 317 of file brandband.cpp.

319{
320 if (IsEqualIID(*pguidCmdGroup, CGID_PrivCITCommands))
321 {
322 }
323 else if (IsEqualIID(*pguidCmdGroup, CGID_BrandCmdGroup))
324 {
325 switch (nCmdID)
326 {
329 return S_OK;
332 return S_OK;
333 }
334 }
335 return E_FAIL;
336}
void StopAnimation()
Definition: brandband.cpp:74
void StartAnimation()
Definition: brandband.cpp:68
#define E_FAIL
Definition: ddrawi.h:102
#define IsEqualIID(riid1, riid2)
Definition: guiddef.h:95
#define BBID_STARTANIMATION
Definition: undocshell.h:821
#define BBID_STOPANIMATION
Definition: undocshell.h:822

◆ GetBandInfo()

HRESULT STDMETHODCALLTYPE CBrandBand::GetBandInfo ( DWORD  dwBandID,
DWORD  dwViewMode,
DESKBANDINFO pdbi 
)
override

Implements IDeskBand.

Definition at line 110 of file brandband.cpp.

111{
112 if (pdbi->dwMask & DBIM_MINSIZE)
113 {
114 pdbi->ptMinSize.x = 38;
115 pdbi->ptMinSize.y = 22;
116 }
117 if (pdbi->dwMask & DBIM_MAXSIZE)
118 {
119 pdbi->ptMaxSize.x = 38;
120 pdbi->ptMaxSize.y = 38;
121 }
122 if (pdbi->dwMask & DBIM_INTEGRAL)
123 {
124 pdbi->ptIntegral.x = 38;
125 pdbi->ptIntegral.y = 38;
126 }
127 if (pdbi->dwMask & DBIM_ACTUAL)
128 {
129 pdbi->ptActual.x = 38;
130 pdbi->ptActual.y = 38;
131 }
132 if (pdbi->dwMask & DBIM_TITLE)
133 wcscpy(pdbi->wszTitle, L"");
134 if (pdbi->dwMask & DBIM_MODEFLAGS)
135 pdbi->dwModeFlags = DBIMF_UNDELETEABLE;
136 if (pdbi->dwMask & DBIM_BKCOLOR)
137 pdbi->crBkgnd = 0;
138 return S_OK;
139}
#define L(x)
Definition: ntvdm.h:50
_CRTIMP wchar_t *__cdecl wcscpy(_Out_writes_z_(_String_length_(_Source)+1) wchar_t *_Dest, _In_z_ const wchar_t *_Source)
LONG y
Definition: windef.h:330
LONG x
Definition: windef.h:329
COLORREF crBkgnd
Definition: shobjidl.idl:2424
WCHAR wszTitle[256]
Definition: shobjidl.idl:2422

◆ GetClassID()

HRESULT STDMETHODCALLTYPE CBrandBand::GetClassID ( CLSID pClassID)
override

Implements IPersist.

Definition at line 270 of file brandband.cpp.

271{
272 if (pClassID == NULL)
273 return E_POINTER;
274 *pClassID = CLSID_BrandBand;
275 return S_OK;
276}
#define E_POINTER
Definition: winerror.h:2365

◆ GetIDsOfNames()

HRESULT STDMETHODCALLTYPE CBrandBand::GetIDsOfNames ( REFIID  riid,
LPOLESTR rgszNames,
UINT  cNames,
LCID  lcid,
DISPID rgDispId 
)
override

Implements IDispatch.

Definition at line 361 of file brandband.cpp.

363{
364 return E_NOTIMPL;
365}

◆ GetSite()

HRESULT STDMETHODCALLTYPE CBrandBand::GetSite ( REFIID  riid,
void **  ppvSite 
)
override

Definition at line 198 of file brandband.cpp.

199{
200 if (ppvSite == NULL)
201 return E_POINTER;
202 if (fSite.p == NULL)
203 {
204 *ppvSite = NULL;
205 return E_FAIL;
206 }
207 return fSite.p->QueryInterface(riid, ppvSite);
208}
CComPtr< IDockingWindowSite > fSite
Definition: brandband.h:37
REFIID riid
Definition: atlbase.h:39

◆ GetSizeMax()

HRESULT STDMETHODCALLTYPE CBrandBand::GetSizeMax ( ULARGE_INTEGER pcbSize)
override

Implements IPersistStream.

Definition at line 293 of file brandband.cpp.

294{
295 return E_NOTIMPL;
296}

◆ GetTypeInfo()

HRESULT STDMETHODCALLTYPE CBrandBand::GetTypeInfo ( UINT  iTInfo,
LCID  lcid,
ITypeInfo **  ppTInfo 
)
override

Implements IDispatch.

Definition at line 356 of file brandband.cpp.

357{
358 return E_NOTIMPL;
359}

◆ GetTypeInfoCount()

HRESULT STDMETHODCALLTYPE CBrandBand::GetTypeInfoCount ( UINT pctinfo)
override

Implements IDispatch.

Definition at line 351 of file brandband.cpp.

352{
353 return E_NOTIMPL;
354}

◆ GetWindow()

HRESULT STDMETHODCALLTYPE CBrandBand::GetWindow ( HWND lphwnd)
override

Implements IOleWindow.

Definition at line 210 of file brandband.cpp.

211{
212 if (lphwnd == NULL)
213 return E_POINTER;
214 *lphwnd = m_hWnd;
215 return S_OK;
216}

◆ HasFocusIO()

HRESULT STDMETHODCALLTYPE CBrandBand::HasFocusIO ( )
override

Definition at line 253 of file brandband.cpp.

254{
255 if (GetFocus() == m_hWnd)
256 return S_OK;
257 return S_FALSE;
258}
#define S_FALSE
Definition: winerror.h:2357
HWND WINAPI GetFocus(void)
Definition: window.c:1893

◆ Invoke()

HRESULT STDMETHODCALLTYPE CBrandBand::Invoke ( DISPID  dispIdMember,
REFIID  riid,
LCID  lcid,
WORD  wFlags,
DISPPARAMS *  pDispParams,
VARIANT pVarResult,
EXCEPINFO *  pExcepInfo,
UINT puArgErr 
)
override

Implements IDispatch.

Definition at line 367 of file brandband.cpp.

369{
370 if (pDispParams == NULL)
371 return E_INVALIDARG;
372 switch (dispIdMember)
373 {
376 break;
379 break;
380 }
381 return E_INVALIDARG;
382}
#define E_INVALIDARG
Definition: ddrawi.h:101
#define DISPID_DOWNLOADCOMPLETE
Definition: webchild.h:39
#define DISPID_DOWNLOADBEGIN
Definition: webchild.h:41

◆ IsDirty()

HRESULT STDMETHODCALLTYPE CBrandBand::IsDirty ( void  )
override

Implements IPersistStream.

Definition at line 278 of file brandband.cpp.

279{
280 return S_FALSE;
281}

◆ IsWindowOwner()

HRESULT STDMETHODCALLTYPE CBrandBand::IsWindowOwner ( HWND  hWnd)
override

Definition at line 304 of file brandband.cpp.

305{
306 if (hWnd == m_hWnd)
307 return S_OK;
308 return S_FALSE;
309}
HWND hWnd
Definition: settings.c:17

◆ Load()

HRESULT STDMETHODCALLTYPE CBrandBand::Load ( IStream pStm)
override

Implements IPersistStream.

Definition at line 283 of file brandband.cpp.

284{
285 return E_NOTIMPL;
286}

◆ OnEraseBkgnd()

LRESULT CBrandBand::OnEraseBkgnd ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL bHandled 
)

Definition at line 390 of file brandband.cpp.

391{
392 return 1;
393}

◆ OnPaint()

LRESULT CBrandBand::OnPaint ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL bHandled 
)

Definition at line 395 of file brandband.cpp.

396{
397 PAINTSTRUCT paintInfo;
398 HDC dc;
399 POINT destinationPoint;
400 HDC sourceDC;
401 HBITMAP oldBitmap;
402 RECT clientRect;
403 RECT tempRect;
404
405 dc = BeginPaint(&paintInfo);
406 GetClientRect(&clientRect);
407
408 destinationPoint.x = (clientRect.right - clientRect.left - fBitmapSize) / 2;
409 destinationPoint.y = (clientRect.bottom - clientRect.top - fBitmapSize) / 2;
410
411 ::SetBkColor(dc, RGB(255, 255, 255));
412
413 tempRect.left = 0;
414 tempRect.top = 0;
415 tempRect.right = clientRect.right;
416 tempRect.bottom = destinationPoint.y;
417 FillSolidRect(dc, &tempRect, RGB(255, 255, 255));
418
419 tempRect.left = 0;
420 tempRect.top = destinationPoint.y + fBitmapSize;
421 tempRect.right = clientRect.right;
422 tempRect.bottom = clientRect.bottom;
423 FillSolidRect(dc, &paintInfo.rcPaint, RGB(255, 255, 255));
424
425 tempRect.left = 0;
426 tempRect.top = destinationPoint.y;
427 tempRect.right = destinationPoint.x;
428 tempRect.bottom = destinationPoint.y + fBitmapSize;
429 FillSolidRect(dc, &paintInfo.rcPaint, RGB(255, 255, 255));
430
431 tempRect.left = destinationPoint.x + fBitmapSize;
432 tempRect.top = destinationPoint.y;
433 tempRect.right = clientRect.right;
434 tempRect.bottom = destinationPoint.y + fBitmapSize;
435 FillSolidRect(dc, &paintInfo.rcPaint, RGB(255, 255, 255));
436
437 sourceDC = CreateCompatibleDC(dc);
438 oldBitmap = reinterpret_cast<HBITMAP>(SelectObject(sourceDC, fImageBitmap));
439
440 BitBlt(dc, destinationPoint.x, destinationPoint.y, fBitmapSize, fBitmapSize, sourceDC, 0, fCurrentFrame * fBitmapSize, SRCCOPY);
441
442 SelectObject(sourceDC, oldBitmap);
443 DeleteDC(sourceDC);
444
445 EndPaint(&paintInfo);
446 return 0;
447}
static VOID BitBlt(_In_ ULONG Left, _In_ ULONG Top, _In_ ULONG Width, _In_ ULONG Height, _In_reads_bytes_(Delta *Height) PUCHAR Buffer, _In_ ULONG BitsPerPixel, _In_ ULONG Delta)
Definition: common.c:57
#define RGB(r, g, b)
Definition: precomp.h:71
static const WCHAR dc[]
static HBITMAP
Definition: button.c:44
static HDC
Definition: imagelist.c:92
long y
Definition: polytest.cpp:48
long x
Definition: polytest.cpp:48
LONG right
Definition: windef.h:308
LONG bottom
Definition: windef.h:309
LONG top
Definition: windef.h:307
LONG left
Definition: windef.h:306
void FillSolidRect(HDC hDC, LPCRECT lpRect, COLORREF clr)
Definition: taskmgr.c:491
COLORREF WINAPI SetBkColor(_In_ HDC, _In_ COLORREF)
Definition: dc.c:999
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
Definition: dc.c:1539
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
#define SRCCOPY
Definition: wingdi.h:333
BOOL WINAPI DeleteDC(_In_ HDC)
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
BOOL WINAPI EndPaint(_In_ HWND, _In_ const PAINTSTRUCT *)
HDC WINAPI BeginPaint(_In_ HWND, _Out_ LPPAINTSTRUCT)

◆ OnSize()

LRESULT CBrandBand::OnSize ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL bHandled 
)

Definition at line 384 of file brandband.cpp.

385{
386 Invalidate(FALSE);
387 return 0;
388}

◆ OnTimer()

LRESULT CBrandBand::OnTimer ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL bHandled 
)

Definition at line 449 of file brandband.cpp.

450{
453 fCurrentFrame = 0;
454 Invalidate(FALSE);
455 return 0;
456}

◆ OnWinEvent()

HRESULT STDMETHODCALLTYPE CBrandBand::OnWinEvent ( HWND  hWnd,
UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
LRESULT theResult 
)
override

Definition at line 298 of file brandband.cpp.

300{
301 return E_NOTIMPL;
302}

◆ QueryService()

HRESULT STDMETHODCALLTYPE CBrandBand::QueryService ( REFGUID  guidService,
REFIID  riid,
void **  ppvObject 
)
override

Implements IServiceProvider.

Definition at line 338 of file brandband.cpp.

339{
340 CComPtr<IServiceProvider> serviceProvider;
341 HRESULT hResult;
342
343 if (IsEqualIID(guidService, SID_SBrandBand))
344 return this->QueryInterface(riid, ppvObject);
345 hResult = fSite->QueryInterface(IID_PPV_ARG(IServiceProvider, &serviceProvider));
346 if (FAILED_UNEXPECTEDLY(hResult))
347 return hResult;
348 return serviceProvider->QueryService(guidService, riid, ppvObject);
349}
#define FAILED_UNEXPECTEDLY(hr)
Definition: precomp.h:121
HRESULT QueryInterface([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject
Definition: wincrypt.h:6082
#define IID_PPV_ARG(Itype, ppType)

◆ QueryStatus()

HRESULT STDMETHODCALLTYPE CBrandBand::QueryStatus ( const GUID pguidCmdGroup,
ULONG  cCmds,
OLECMD  prgCmds[],
OLECMDTEXT pCmdText 
)
override

Implements IOleCommandTarget.

Definition at line 311 of file brandband.cpp.

313{
314 return E_NOTIMPL;
315}

◆ ResizeBorderDW()

HRESULT STDMETHODCALLTYPE CBrandBand::ResizeBorderDW ( const RECT prcBorder,
IUnknown punkToolbarSite,
BOOL  fReserved 
)
override

Definition at line 235 of file brandband.cpp.

237{
238 return E_NOTIMPL;
239}

◆ Save()

HRESULT STDMETHODCALLTYPE CBrandBand::Save ( IStream pStm,
BOOL  fClearDirty 
)
override

Implements IPersistStream.

Definition at line 288 of file brandband.cpp.

289{
290 return E_NOTIMPL;
291}

◆ SelectImage()

void CBrandBand::SelectImage ( )

Definition at line 81 of file brandband.cpp.

82{
83 int screenDepth;
84 RECT clientRect;
85 int clientWidth;
86 int clientHeight;
87 int clientSize;
88 BITMAP bitmapInfo;
89 int resourceID;
90
91 screenDepth = SHGetCurColorRes();
92 GetClientRect(&clientRect);
93 clientWidth = clientRect.right - clientRect.left;
94 clientHeight = clientRect.bottom - clientRect.top;
95 clientSize = min(clientWidth, clientHeight);
96 if (screenDepth > 8)
97 resourceID = gTrueColorResourceBase;
98 else
99 resourceID = g256ColorResourceBase;
100 if (clientSize >= gLargeImageSize)
101 resourceID += 2;
102 else if (clientSize >= gMediumImageSize)
103 resourceID += 1;
104 fImageBitmap = LoadBitmap(_AtlBaseModule.GetResourceInstance(), MAKEINTRESOURCE(resourceID));
105 GetObjectW(fImageBitmap, sizeof(bitmapInfo), &bitmapInfo);
106 fBitmapSize = bitmapInfo.bmWidth;
107 fMaxFrameCount = bitmapInfo.bmHeight / fBitmapSize;
108}
static const int gMediumImageSize
Definition: brandband.cpp:47
static const int gTrueColorResourceBase
Definition: brandband.cpp:50
static const int gLargeImageSize
Definition: brandband.cpp:48
static const int g256ColorResourceBase
Definition: brandband.cpp:51
DWORD WINAPI SHGetCurColorRes(void)
Definition: ordinal.c:2019
#define min(a, b)
Definition: monoChain.cc:55
Definition: bl.h:1331
int WINAPI GetObjectW(_In_ HANDLE h, _In_ int c, _Out_writes_bytes_opt_(c) LPVOID pv)
#define LoadBitmap
Definition: winuser.h:5811
#define MAKEINTRESOURCE
Definition: winuser.h:591

Referenced by SetSite().

◆ SetSite()

HRESULT STDMETHODCALLTYPE CBrandBand::SetSite ( IUnknown pUnkSite)
override

Implements IObjectWithSite.

Definition at line 141 of file brandband.cpp.

142{
143 CComPtr<IBrowserService> browserService;
144 CComPtr<IOleWindow> oleWindow;
145 CComPtr<IServiceProvider> serviceProvider;
146 CComPtr<IProfferService> profferService;
147 HWND parentWindow;
148 HWND hwnd;
149 HRESULT hResult;
150
151 fSite.Release();
152 if (pUnkSite == NULL)
153 {
154 hResult = AtlUnadvise(fSite, DIID_DWebBrowserEvents, fAdviseCookie);
155 // TODO: revoke brand band service
156 return S_OK;
157 }
158
159 // get window handle of parent
160 hResult = pUnkSite->QueryInterface(IID_PPV_ARG(IDockingWindowSite, &fSite));
161 if (FAILED_UNEXPECTEDLY(hResult))
162 return hResult;
163 parentWindow = NULL;
164 hResult = pUnkSite->QueryInterface(IID_PPV_ARG(IOleWindow, &oleWindow));
165 if (SUCCEEDED(hResult))
166 hResult = oleWindow->GetWindow(&parentWindow);
167 if (!::IsWindow(parentWindow))
168 return E_FAIL;
169
170 // create worker window in parent window
171 hwnd = SHCreateWorkerWindowW(0, parentWindow, 0,
173 if (hwnd == NULL)
174 return E_FAIL;
176
177 // take advice to watch events
178 hResult = pUnkSite->QueryInterface(IID_PPV_ARG(IServiceProvider, &serviceProvider));
179 if (SUCCEEDED(hResult))
180 {
181 hResult = serviceProvider->QueryService(
182 SID_SBrandBand, IID_PPV_ARG(IProfferService, &profferService));
183 if (SUCCEEDED(hResult))
184 hResult = profferService->ProfferService(SID_SBrandBand,
185 static_cast<IServiceProvider *>(this), &fProfferCookie);
186 hResult = serviceProvider->QueryService(SID_SShellBrowser,
187 IID_PPV_ARG(IBrowserService, &browserService));
188 if (SUCCEEDED(hResult))
189 hResult = AtlAdvise(browserService, static_cast<IDispatch *>(this), DIID_DWebBrowserEvents, &fAdviseCookie);
190 }
191
192 // ignore any hResult errors up to here - they are nonfatal
193 hResult = S_OK;
194 SelectImage();
195 return hResult;
196}
void Release()
Definition: atlcomcli.h:170
void SelectImage()
Definition: brandband.cpp:81
HRESULT WINAPI AtlAdvise(IUnknown *pUnkCP, IUnknown *pUnk, const IID *iid, DWORD *pdw)
Definition: atl.c:45
HRESULT WINAPI AtlUnadvise(IUnknown *pUnkCP, const IID *iid, DWORD dw)
Definition: atl.c:73
HWND WINAPI SHCreateWorkerWindowW(WNDPROC wndProc, HWND hWndParent, DWORD dwExStyle, DWORD dwStyle, HMENU hMenu, LONG_PTR wnd_extra)
Definition: ordinal.c:3000
#define SUCCEEDED(hr)
Definition: intsafe.h:50
#define WS_CHILD
Definition: pedump.c:617
#define WS_VISIBLE
Definition: pedump.c:620
#define WS_CLIPSIBLINGS
Definition: pedump.c:618
#define WS_CLIPCHILDREN
Definition: pedump.c:619
#define SID_SShellBrowser
Definition: shlguid.h:128
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4023
#define SubclassWindow(hwnd, lpfn)
Definition: windowsx.h:542

◆ ShowDW()

HRESULT STDMETHODCALLTYPE CBrandBand::ShowDW ( BOOL  fShow)
override

Implements IDockingWindow.

Definition at line 241 of file brandband.cpp.

242{
243 if (m_hWnd)
244 {
245 if (fShow)
247 else
249 }
250 return S_OK;
251}
#define SW_HIDE
Definition: winuser.h:768
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
#define SW_SHOW
Definition: winuser.h:775

Referenced by CloseDW().

◆ StartAnimation()

void CBrandBand::StartAnimation ( )

Definition at line 68 of file brandband.cpp.

69{
70 fCurrentFrame = 0;
71 SetTimer(5678, 30, NULL);
72}
UINT_PTR WINAPI SetTimer(_In_opt_ HWND, _In_ UINT_PTR, _In_ UINT, _In_opt_ TIMERPROC)

Referenced by Exec(), and Invoke().

◆ StopAnimation()

void CBrandBand::StopAnimation ( )

Definition at line 74 of file brandband.cpp.

75{
76 KillTimer(5678);
77 fCurrentFrame = 0;
78 Invalidate(FALSE);
79}
BOOL WINAPI KillTimer(_In_opt_ HWND, _In_ UINT_PTR)

Referenced by Exec(), and Invoke().

◆ TranslateAcceleratorIO()

HRESULT STDMETHODCALLTYPE CBrandBand::TranslateAcceleratorIO ( LPMSG  lpMsg)
override

Definition at line 260 of file brandband.cpp.

261{
262 return E_NOTIMPL;
263}

◆ UIActivateIO()

HRESULT STDMETHODCALLTYPE CBrandBand::UIActivateIO ( BOOL  fActivate,
LPMSG  lpMsg 
)
override

Definition at line 265 of file brandband.cpp.

266{
267 return E_NOTIMPL;
268}

Member Data Documentation

◆ fAdviseCookie

DWORD CBrandBand::fAdviseCookie
private

Definition at line 43 of file brandband.h.

Referenced by CBrandBand(), and SetSite().

◆ fBitmapSize

int CBrandBand::fBitmapSize
private

Definition at line 42 of file brandband.h.

Referenced by CBrandBand(), OnPaint(), and SelectImage().

◆ fCurrentFrame

int CBrandBand::fCurrentFrame
private

Definition at line 39 of file brandband.h.

Referenced by CBrandBand(), OnPaint(), OnTimer(), StartAnimation(), and StopAnimation().

◆ fImageBitmap

HBITMAP CBrandBand::fImageBitmap
private

Definition at line 41 of file brandband.h.

Referenced by CBrandBand(), OnPaint(), SelectImage(), and ~CBrandBand().

◆ fMaxFrameCount

int CBrandBand::fMaxFrameCount
private

Definition at line 40 of file brandband.h.

Referenced by CBrandBand(), OnTimer(), and SelectImage().

◆ fProfferCookie

DWORD CBrandBand::fProfferCookie
private

Definition at line 38 of file brandband.h.

Referenced by CBrandBand(), and SetSite().

◆ fSite

CComPtr<IDockingWindowSite> CBrandBand::fSite
private

Definition at line 37 of file brandband.h.

Referenced by GetSite(), QueryService(), and SetSite().


The documentation for this class was generated from the following files: