27const GUID CLSID_ITaskBand = { 0x68284FAA, 0x6A48, 0x11D0, { 0x8C, 0x78, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0xB4 } };
36 public IWinEventHandler,
91 BOOL fReserved)
override
103 TRACE(
"CTaskBand::GetBandInfo(0x%x,0x%x,0x%p) hWnd=0x%p\n", dwBandID, dwViewMode, pdbi,
m_hWnd);
110 pdbi->dwMask &= ~DBIM_TITLE;
118 pdbi->dwModeFlags = DBIMF_VARIABLEHEIGHT;
122 pdbi->ptMinSize.x = 0;
125 if (dwViewMode & DBIF_VIEWMODE_VERTICAL)
127 pdbi->ptIntegral.x = 0;
128 pdbi->ptIntegral.y = 1;
132 pdbi->ptIntegral.x = 0;
137 pdbi->ptMaxSize.y = -1;
142 pdbi->ptActual.x = rcToolbar.
right - rcToolbar.
left;
143 pdbi->ptActual.y = rcToolbar.
bottom - rcToolbar.
top;
145 TRACE(
"H: %d, Min: %d,%d, Integral.y: %d Actual: %d,%d\n", (dwViewMode & DBIF_VIEWMODE_VERTICAL) == 0,
146 pdbi->ptMinSize.x, pdbi->ptMinSize.y, pdbi->ptIntegral.y,
147 pdbi->ptActual.x, pdbi->ptActual.y);
160 const GUID *pguidCmdGroup,
171 const GUID *pguidCmdGroup,
177 if (
IsEqualIID(*pguidCmdGroup, IID_IBandSite))
182 if (
IsEqualIID(*pguidCmdGroup, IID_IDeskBand))
196 TRACE(
"IDeskBar::SetClient(0x%p)\n", punkClient);
203 TRACE(
"IDeskBar::GetClient(0x%p)\n", ppunkClient);
222 TRACE(
"CTaskBand::GetClassID(0x%p)\n", pClassID);
238 TRACE(
"CTaskBand::Load called\n");
246 IN BOOL fClearDirty)
override
255 TRACE(
"CTaskBand::GetSizeMax called\n");
257 pcbSize->QuadPart = 0;
269 TRACE(
"CTaskBand::SetSite(0x%p)\n", pUnkSite);
275 TRACE(
"CreateTaskSwitchWnd(Parent: 0x%p)\n", hwndSite);
295 TRACE(
"CTaskBand::GetSite(0x%p,0x%p)\n",
riid, ppvSite);
350 return ShellObjectCreatorInit<CTaskBand>(Tray, hWndStartButton,
riid,
ppv);
HRESULT CTaskSwitchWnd_CreateInstance(IN HWND hWndParent, IN OUT ITrayWindow *Tray, REFIID riid, void **ppv)
#define STDMETHODCALLTYPE
CComPtr< IUnknown > m_Site
STDMETHODIMP SetSite(IUnknown *pUnkSite) override
STDMETHODIMP GetBandInfo(IN DWORD dwBandID, IN DWORD dwViewMode, IN OUT DESKBANDINFO *pdbi) override
STDMETHODIMP OnWinEvent(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult) override
STDMETHODIMP GetSizeMax(OUT ULARGE_INTEGER *pcbSize) override
STDMETHODIMP ContextSensitiveHelp(IN BOOL fEnterMode) override
STDMETHODIMP QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[], OLECMDTEXT *pCmdText) override
STDMETHODIMP IsDirty() override
STDMETHODIMP GetSite(IN REFIID riid, OUT VOID **ppvSite) override
STDMETHODIMP GetClassID(OUT CLSID *pClassID) override
STDMETHODIMP Load(IN IStream *pStm) override
STDMETHODIMP GetClient(OUT IUnknown **ppunkClient) override
CComPtr< ITrayWindow > m_Tray
STDMETHODIMP ResizeBorderDW(LPCRECT prcBorder, IUnknown *punkToolbarSite, BOOL fReserved) override
STDMETHODIMP IsWindowOwner(HWND hWnd) override
CComPtr< IUnknown > m_TasksWnd
STDMETHODIMP GetWindow(OUT HWND *phwnd) override
STDMETHODIMP CloseDW(IN DWORD dwReserved) override
HRESULT STDMETHODCALLTYPE Initialize(IN OUT ITrayWindow *tray, HWND hWndStartButton)
STDMETHODIMP Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut) override
STDMETHODIMP ShowDW(IN BOOL bShow) override
STDMETHODIMP SetClient(IN IUnknown *punkClient) override
STDMETHODIMP Save(IN IStream *pStm, IN BOOL fClearDirty) override
STDMETHODIMP OnPosRectChangeDB(IN RECT *prc) override
#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)
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define IID_PPV_ARG(Itype, ppType)