27const GUID CLSID_ITaskBand = { 0x68284FAA, 0x6A48, 0x11D0, { 0x8C, 0x78, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0xB4 } };
36 public IWinEventHandler,
100 TRACE(
"CTaskBand::GetBandInfo(0x%x,0x%x,0x%p) hWnd=0x%p\n", dwBandID, dwViewMode, pdbi,
m_hWnd);
107 pdbi->dwMask &= ~DBIM_TITLE;
115 pdbi->dwModeFlags = DBIMF_VARIABLEHEIGHT;
119 pdbi->ptMinSize.x = 0;
122 if (dwViewMode & DBIF_VIEWMODE_VERTICAL)
124 pdbi->ptIntegral.x = 0;
125 pdbi->ptIntegral.y = 1;
129 pdbi->ptIntegral.x = 0;
134 pdbi->ptMaxSize.y = -1;
139 pdbi->ptActual.x = rcToolbar.
right - rcToolbar.
left;
140 pdbi->ptActual.y = rcToolbar.
bottom - rcToolbar.
top;
142 TRACE(
"H: %d, Min: %d,%d, Integral.y: %d Actual: %d,%d\n", (dwViewMode & DBIF_VIEWMODE_VERTICAL) == 0,
143 pdbi->ptMinSize.x, pdbi->ptMinSize.y, pdbi->ptIntegral.y,
144 pdbi->ptActual.x, pdbi->ptActual.y);
162 if (
IsEqualIID(*pguidCmdGroup, IID_IBandSite))
167 if (
IsEqualIID(*pguidCmdGroup, IID_IDeskBand))
181 TRACE(
"IDeskBar::SetClient(0x%p)\n", punkClient);
188 TRACE(
"IDeskBar::GetClient(0x%p)\n", ppunkClient);
207 TRACE(
"CTaskBand::GetClassID(0x%p)\n", pClassID);
222 TRACE(
"CTaskBand::Load called\n");
238 TRACE(
"CTaskBand::GetSizeMax called\n");
240 pcbSize->QuadPart = 0;
251 TRACE(
"CTaskBand::SetSite(0x%p)\n", pUnkSite);
257 TRACE(
"CreateTaskSwitchWnd(Parent: 0x%p)\n", hwndSite);
276 TRACE(
"CTaskBand::GetSite(0x%p,0x%p)\n",
riid, ppvSite);
296 TRACE(
"CTaskBand: IWinEventHandler::ProcessMessage(0x%p, 0x%x, 0x%p, 0x%p, 0x%p)\n",
hWnd, uMsg,
wParam,
lParam, plrResult);
306 TRACE(
"CTaskBand::ContainsWindow(0x%p) returns S_OK\n",
hWnd);
348 return ShellObjectCreatorInit<CTaskBand>(Tray, hWndStartButton,
riid,
ppv);
HRESULT CTaskSwitchWnd_CreateInstance(IN HWND hWndParent, IN OUT ITrayWindow *Tray, REFIID riid, void **ppv)
#define STDMETHODCALLTYPE
virtual HRESULT STDMETHODCALLTYPE QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[], OLECMDTEXT *pCmdText)
CComPtr< IUnknown > m_Site
virtual HRESULT STDMETHODCALLTYPE ResizeBorderDW(LPCRECT prcBorder, IUnknown *punkToolbarSite, BOOL fReserved)
virtual HRESULT STDMETHODCALLTYPE Load(IN IStream *pStm)
virtual HRESULT STDMETHODCALLTYPE OnPosRectChangeDB(IN RECT *prc)
virtual HRESULT STDMETHODCALLTYPE CloseDW(IN DWORD dwReserved)
virtual HRESULT STDMETHODCALLTYPE SetClient(IN IUnknown *punkClient)
virtual HRESULT STDMETHODCALLTYPE ShowDW(IN BOOL bShow)
virtual HRESULT STDMETHODCALLTYPE ContainsWindow(IN HWND hWnd)
virtual HRESULT STDMETHODCALLTYPE Save(IN IStream *pStm, IN BOOL fClearDirty)
virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(IN BOOL fEnterMode)
virtual HRESULT STDMETHODCALLTYPE Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut)
virtual HRESULT STDMETHODCALLTYPE IsDirty()
virtual HRESULT STDMETHODCALLTYPE GetSizeMax(OUT ULARGE_INTEGER *pcbSize)
CComPtr< ITrayWindow > m_Tray
virtual HRESULT STDMETHODCALLTYPE GetClient(OUT IUnknown **ppunkClient)
virtual HRESULT STDMETHODCALLTYPE GetWindow(OUT HWND *phwnd)
virtual HRESULT STDMETHODCALLTYPE GetClassID(OUT CLSID *pClassID)
CComPtr< IUnknown > m_TasksWnd
virtual HRESULT STDMETHODCALLTYPE IsWindowOwner(HWND hWnd)
virtual HRESULT STDMETHODCALLTYPE OnWinEvent(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult)
virtual HRESULT STDMETHODCALLTYPE GetBandInfo(IN DWORD dwBandID, IN DWORD dwViewMode, IN OUT DESKBANDINFO *pdbi)
virtual HRESULT STDMETHODCALLTYPE SetSite(IUnknown *pUnkSite)
virtual HRESULT STDMETHODCALLTYPE ProcessMessage(IN HWND hWnd, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam, OUT LRESULT *plrResult)
HRESULT STDMETHODCALLTYPE Initialize(IN OUT ITrayWindow *tray, HWND hWndStartButton)
virtual HRESULT STDMETHODCALLTYPE GetSite(IN REFIID riid, OUT VOID **ppvSite)
#define FAILED_UNEXPECTEDLY(hr)
HRESULT WINAPI IUnknown_GetWindow(IUnknown *lpUnknown, HWND *lphWnd)
#define COM_INTERFACE_ENTRY2_IID(iid, x, x2)
#define COM_INTERFACE_ENTRY_IID(iid, x)
#define DECLARE_PROTECT_FINAL_CONSTRUCT()
#define DECLARE_NOT_AGGREGATABLE(x)
const IID IID_IObjectWithSite
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
const GUID IID_IOleWindow
const GUID IID_IPersistStream
#define IsEqualIID(riid1, riid2)
const GUID CLSID_ITaskBand
HRESULT CTaskBand_CreateInstance(IN ITrayWindow *Tray, HWND hWndStartButton, REFIID riid, void **ppv)
BOOL WINAPI GetWindowRect(_In_ HWND, _Out_ LPRECT)
BOOL WINAPI IsChild(_In_ HWND, _In_ HWND)
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define IID_PPV_ARG(Itype, ppType)