ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

brandband.h
Go to the documentation of this file.
00001 /*
00002  * ReactOS Explorer
00003  *
00004  * Copyright 2009 Andrew Hill <ash77@reactos.org>
00005  *
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU Lesser General Public
00008  * License as published by the Free Software Foundation; either
00009  * version 2.1 of the License, or (at your option) any later version.
00010  *
00011  * This library is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  * Lesser General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU Lesser General Public
00017  * License along with this library; if not, write to the Free Software
00018  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00019  */
00020 
00021 #pragma once
00022 
00023 class CBrandBand :
00024     public CWindowImpl<CBrandBand, CWindow, CControlWinTraits>,
00025     public CComCoClass<CBrandBand, &CLSID_BrandBand>,
00026     public CComObjectRootEx<CComMultiThreadModelNoCS>,
00027     public IDeskBand,
00028     public IObjectWithSite,
00029     public IInputObject,
00030     public IPersistStream,
00031     public IWinEventHandler,
00032     public IOleCommandTarget,
00033     public IServiceProvider,
00034     public IDispatch
00035 {
00036 private:
00037     CComPtr<IDockingWindowSite>             fSite;
00038     DWORD                                   fProfferCookie;
00039     int                                     fCurrentFrame;
00040     int                                     fMaxFrameCount;
00041     HBITMAP                                 fImageBitmap;
00042     int                                     fBitmapSize;
00043     DWORD                                   fAdviseCookie;
00044 public:
00045     CBrandBand();
00046     ~CBrandBand();
00047     void StartAnimation();
00048     void StopAnimation();
00049     void SelectImage();
00050 public:
00051     // *** IDeskBand methods ***
00052     virtual HRESULT STDMETHODCALLTYPE GetBandInfo(DWORD dwBandID, DWORD dwViewMode, DESKBANDINFO* pdbi);
00053 
00054     // *** IObjectWithSite methods ***
00055     virtual HRESULT STDMETHODCALLTYPE SetSite(IUnknown* pUnkSite);
00056     virtual HRESULT STDMETHODCALLTYPE GetSite(REFIID riid, void **ppvSite);
00057 
00058     // *** IOleWindow methods ***
00059     virtual HRESULT STDMETHODCALLTYPE GetWindow(HWND *lphwnd);
00060     virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode);
00061 
00062     // *** IDockingWindow methods ***
00063     virtual HRESULT STDMETHODCALLTYPE CloseDW(DWORD dwReserved);
00064     virtual HRESULT STDMETHODCALLTYPE ResizeBorderDW(const RECT* prcBorder, IUnknown* punkToolbarSite, BOOL fReserved);
00065     virtual HRESULT STDMETHODCALLTYPE ShowDW(BOOL fShow);
00066 
00067     // *** IInputObject methods ***
00068     virtual HRESULT STDMETHODCALLTYPE HasFocusIO();
00069     virtual HRESULT STDMETHODCALLTYPE TranslateAcceleratorIO(LPMSG lpMsg);
00070     virtual HRESULT STDMETHODCALLTYPE UIActivateIO(BOOL fActivate, LPMSG lpMsg);
00071 
00072     // *** IPersist methods ***
00073     virtual HRESULT STDMETHODCALLTYPE GetClassID(CLSID *pClassID);
00074 
00075     // *** IPersistStream methods ***
00076     virtual HRESULT STDMETHODCALLTYPE IsDirty();
00077     virtual HRESULT STDMETHODCALLTYPE Load(IStream *pStm);
00078     virtual HRESULT STDMETHODCALLTYPE Save(IStream *pStm, BOOL fClearDirty);
00079     virtual HRESULT STDMETHODCALLTYPE GetSizeMax(ULARGE_INTEGER *pcbSize);
00080 
00081     // *** IWinEventHandler methods ***
00082     virtual HRESULT STDMETHODCALLTYPE OnWinEvent(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult);
00083     virtual HRESULT STDMETHODCALLTYPE IsWindowOwner(HWND hWnd);
00084 
00085     // *** IOleCommandTarget methods ***
00086     virtual HRESULT STDMETHODCALLTYPE QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[  ], OLECMDTEXT *pCmdText);
00087     virtual HRESULT STDMETHODCALLTYPE Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut);
00088 
00089     // *** IServiceProvider methods ***
00090     virtual HRESULT STDMETHODCALLTYPE QueryService(REFGUID guidService, REFIID riid, void **ppvObject);
00091 
00092     // *** IDispatch methods ***
00093     virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(UINT *pctinfo);
00094     virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
00095     virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
00096     virtual HRESULT STDMETHODCALLTYPE Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
00097 
00098     // message handlers
00099     LRESULT OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled);
00100     LRESULT OnEraseBkgnd(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled);
00101     LRESULT OnPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled);
00102     LRESULT OnTimer(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled);
00103 
00104 BEGIN_MSG_MAP(CBrandBand)
00105 //  MESSAGE_HANDLER(WM_SIZE, OnSize)
00106     MESSAGE_HANDLER(WM_ERASEBKGND, OnEraseBkgnd)
00107     MESSAGE_HANDLER(WM_PAINT, OnPaint)
00108     MESSAGE_HANDLER(WM_TIMER, OnTimer)
00109 END_MSG_MAP()
00110 
00111 DECLARE_REGISTRY_RESOURCEID(IDR_BRANDBAND)
00112 DECLARE_NOT_AGGREGATABLE(CBrandBand)
00113 
00114 DECLARE_PROTECT_FINAL_CONSTRUCT()
00115 
00116 BEGIN_COM_MAP(CBrandBand)
00117     COM_INTERFACE_ENTRY_IID(IID_IDeskBand, IDeskBand)
00118     COM_INTERFACE_ENTRY_IID(IID_IObjectWithSite, IObjectWithSite)
00119     COM_INTERFACE_ENTRY_IID(IID_IOleWindow, IOleWindow)
00120     COM_INTERFACE_ENTRY_IID(IID_IDockingWindow, IDockingWindow)
00121     COM_INTERFACE_ENTRY_IID(IID_IInputObject, IInputObject)
00122     COM_INTERFACE_ENTRY_IID(IID_IPersist, IPersist)
00123     COM_INTERFACE_ENTRY_IID(IID_IPersistStream, IPersistStream)
00124     COM_INTERFACE_ENTRY_IID(IID_IWinEventHandler, IWinEventHandler)
00125     COM_INTERFACE_ENTRY_IID(IID_IOleCommandTarget, IOleCommandTarget)
00126     COM_INTERFACE_ENTRY_IID(IID_IServiceProvider, IServiceProvider)
00127     COM_INTERFACE_ENTRY_IID(IID_IDispatch, IDispatch)
00128 END_COM_MAP()
00129 };

Generated on Fri May 25 2012 04:20:51 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.