ReactOS 0.4.15-dev-7705-g2320c37
CISFBand Class Reference

#include <CISFBand.h>

Inheritance diagram for CISFBand:
Collaboration diagram for CISFBand:

Public Member Functions

 CISFBand ()
 
virtual ~CISFBand ()
 
HRESULT CreateSimpleToolbar (HWND hWndParent)
 
virtual STDMETHODIMP GetSite (IN REFIID riid, OUT void **ppvSite)
 
virtual STDMETHODIMP SetSite (IN IUnknown *pUnkSite)
 
virtual STDMETHODIMP GetWindow (OUT HWND *phwnd)
 
virtual STDMETHODIMP ContextSensitiveHelp (IN BOOL fEnterMode)
 
virtual STDMETHODIMP ShowDW (IN BOOL bShow)
 
virtual STDMETHODIMP CloseDW (IN DWORD dwReserved)
 
virtual STDMETHODIMP ResizeBorderDW (LPCRECT prcBorder, IUnknown *punkToolbarSite, BOOL fReserved)
 
virtual STDMETHODIMP GetBandInfo (IN DWORD dwBandID, IN DWORD dwViewMode, IN OUT DESKBANDINFO *pdbi)
 
virtual STDMETHODIMP GetClassID (OUT CLSID *pClassID)
 
virtual STDMETHODIMP GetSizeMax (OUT ULARGE_INTEGER *pcbSize)
 
virtual STDMETHODIMP IsDirty ()
 
virtual STDMETHODIMP Load (IN IStream *pStm)
 
virtual STDMETHODIMP Save (IN IStream *pStm, IN BOOL fClearDirty)
 
virtual STDMETHODIMP ContainsWindow (IN HWND hWnd)
 
virtual STDMETHODIMP OnWinEvent (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult)
 
virtual STDMETHODIMP IsWindowOwner (HWND hWnd)
 
virtual STDMETHODIMP Exec (IN const GUID *pguidCmdGroup, IN DWORD nCmdID, IN DWORD nCmdexecopt, IN VARIANT *pvaIn, IN OUT VARIANT *pvaOut)
 
virtual STDMETHODIMP QueryStatus (IN const GUID *pguidCmdGroup, IN ULONG cCmds, IN OUT OLECMD prgCmds[], IN OUT OLECMDTEXT *pCmdText)
 
virtual STDMETHODIMP GetBandInfoSFB (PBANDINFOSFB pbi)
 
virtual STDMETHODIMP InitializeSFB (IShellFolder *psf, PCIDLIST_ABSOLUTE pidl)
 
virtual STDMETHODIMP SetBandInfoSFB (PBANDINFOSFB pbi)
 
virtual STDMETHODIMP GetCommandString (UINT_PTR idCmd, UINT uFlags, UINT *pwReserved, LPSTR pszName, UINT cchMax)
 
virtual STDMETHODIMP InvokeCommand (LPCMINVOKECOMMANDINFO pici)
 
virtual STDMETHODIMP QueryContextMenu (HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags)
 
- 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 ()
 
- Public Member Functions inherited from IObjectWithSite
HRESULT SetSite ([in] IUnknown *pUnkSite)
 
HRESULT GetSite ([in] REFIID riid, [out, iid_is(riid)] PVOID *ppvSite)
 
- 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 IDeskBand
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)
 
- Public Member Functions inherited from IOleWindow
HRESULT GetWindow ([out] HWND *phwnd)
 
HRESULT ContextSensitiveHelp ([in] BOOL fEnterMode)
 
- Public Member Functions inherited from IPersistStream
HRESULT IsDirty ()
 
HRESULT Load ([in, unique] IStream *pStm)
 
HRESULT Save ([in, unique] IStream *pStm, [in] BOOL fClearDirty)
 
HRESULT GetSizeMax ([out] ULARGE_INTEGER *pcbSize)
 
- Public Member Functions inherited from IPersist
HRESULT GetClassID ([out] CLSID *pClassID)
 
- Public Member Functions inherited from IOleCommandTarget
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)
 
HRESULT QueryContextMenu ([in] HMENU hmenu, [in] UINT indexMenu, [in] UINT idCmdFirst, [in] UINT idCmdLast, [in] UINT uFlags)
 
HRESULT InvokeCommand ([in] LPCMINVOKECOMMANDINFO lpici)
 
HRESULT GetCommandString ([in] UINT_PTR idCmd, [in] UINT uType, [out] UINT *pwReserved, [out, size_is(cchMax)] LPSTR pszName, [in] UINT cchMax)
 

Private Attributes

DWORD m_BandID
 
CComPtr< IUnknownm_Site
 
CComPtr< IShellFolderm_pISF
 
PIDLIST_ABSOLUTE m_pidl
 
BOOL m_textFlag
 
BOOL m_iconFlag
 
BOOL m_QLaunch
 

Additional Inherited Members

- Public Types inherited from IObjectWithSite
typedef IObjectWithSiteLPOBJECTWITHSITE
 
- Public Types inherited from IUnknown
typedef IUnknownLPUNKNOWN
 
- Public Types inherited from IOleWindow
typedef IOleWindowLPOLEWINDOW
 
- 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 IContextMenu
typedef IContextMenuLPCONTEXTMENU
 
typedef struct IContextMenu::tagCMINVOKECOMMANDINFO CMINVOKECOMMANDINFO
 
typedef struct IContextMenu::tagCMINVOKECOMMANDINFOLPCMINVOKECOMMANDINFO
 
typedef struct IContextMenu::tagCMInvokeCommandInfoEx CMINVOKECOMMANDINFOEX
 
typedef struct IContextMenu::tagCMInvokeCommandInfoExLPCMINVOKECOMMANDINFOEX
 
- 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
 
- Static Public Attributes inherited from IContextMenu
static const WCHAR CMDSTR_NEWFOLDERW [] = {'N','e','w','F','o','l','d','e','r',0}
 
static const WCHAR CMDSTR_VIEWLISTW [] = {'V','i','e','w','L','i','s','t',0}
 
static const WCHAR CMDSTR_VIEWDETAILSW [] = {'V','i','e','w','D','e','t','a','i','l','s',0}
 

Detailed Description

Definition at line 11 of file CISFBand.h.

Constructor & Destructor Documentation

◆ CISFBand()

CISFBand::CISFBand ( )

Definition at line 28 of file CISFBand.cpp.

28 :
29 m_BandID(0),
30 m_pidl(NULL),
31 m_textFlag(true),
32 m_iconFlag(true),
33 m_QLaunch(false)
34{
35}
DWORD m_BandID
Definition: CISFBand.h:24
BOOL m_QLaunch
Definition: CISFBand.h:34
PIDLIST_ABSOLUTE m_pidl
Definition: CISFBand.h:29
BOOL m_textFlag
Definition: CISFBand.h:32
BOOL m_iconFlag
Definition: CISFBand.h:33
#define NULL
Definition: types.h:112

◆ ~CISFBand()

CISFBand::~CISFBand ( )
virtual

Definition at line 37 of file CISFBand.cpp.

38{
39 CloseDW(0);
40}
virtual STDMETHODIMP CloseDW(IN DWORD dwReserved)
Definition: CISFBand.cpp:182

Member Function Documentation

◆ CloseDW()

STDMETHODIMP CISFBand::CloseDW ( IN DWORD  dwReserved)
virtual

Definition at line 182 of file CISFBand.cpp.

183 {
184 if (m_hWnd)
185 {
187
188 TBBUTTON tb;
189 for (int i = 0; SendMessage(m_hWnd, TB_GETBUTTON, i, (LPARAM)&tb); i++)
190 {
192 }
193
195 m_hWnd = NULL;
196 return S_OK;
197 }
198
199 return E_FAIL;
200 }
#define E_FAIL
Definition: ddrawi.h:102
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
VOID WINAPI CoTaskMemFree(LPVOID ptr)
Definition: ifs.c:442
#define S_OK
Definition: intsafe.h:52
static const WCHAR tb[]
Definition: suminfo.c:285
#define TB_GETBUTTON
Definition: commctrl.h:1109
ITEMIDLIST UNALIGNED * LPITEMIDLIST
Definition: shtypes.idl:41
LONG_PTR LPARAM
Definition: windef.h:208
#define SW_HIDE
Definition: winuser.h:767
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
#define SendMessage
Definition: winuser.h:5842
BOOL WINAPI DestroyWindow(_In_ HWND)

Referenced by ~CISFBand().

◆ ContainsWindow()

STDMETHODIMP CISFBand::ContainsWindow ( IN HWND  hWnd)
virtual

Definition at line 323 of file CISFBand.cpp.

324 {
325 if (hWnd == m_hWnd || IsChild(hWnd))
326 {
327 TRACE("CISFBand::ContainsWindow(0x%p) returns S_OK\n", hWnd);
328 return S_OK;
329 }
330
331 return S_FALSE;
332 }
HWND hWnd
Definition: settings.c:17
#define TRACE(s)
Definition: solgame.cpp:4
#define S_FALSE
Definition: winerror.h:2357
BOOL WINAPI IsChild(_In_ HWND, _In_ HWND)

◆ ContextSensitiveHelp()

STDMETHODIMP CISFBand::ContextSensitiveHelp ( IN BOOL  fEnterMode)
virtual

Definition at line 165 of file CISFBand.cpp.

166 {
167 /* FIXME: Implement */
168 return E_NOTIMPL;
169 }
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ CreateSimpleToolbar()

HRESULT CISFBand::CreateSimpleToolbar ( HWND  hWndParent)

Definition at line 54 of file CISFBand.cpp.

55{
56 // Declare and initialize local constants.
57 const DWORD buttonStyles = BTNS_AUTOSIZE;
58
59 // Create the toolbar.
62 hWndParent, NULL, 0, NULL);
63 if (m_hWnd == NULL)
64 return E_FAIL;
65
66 if (!m_textFlag)
68
69 // Set the image list.
70 HIMAGELIST* piml;
71 HRESULT hr = SHGetImageList(SHIL_SMALL, IID_IImageList, (void**)&piml);
73 {
75 return hr;
76 }
77 SendMessage(m_hWnd, TB_SETIMAGELIST, 0, (LPARAM)piml);
78
79 // Enumerate objects
80 CComPtr<IEnumIDList> pEndl;
81 LPITEMIDLIST pidl;
82 STRRET stret;
83 hr = m_pISF->EnumObjects(0, SHCONTF_FOLDERS|SHCONTF_NONFOLDERS, &pEndl);
85 {
87 return hr;
88 }
89
90 for (int i=0; pEndl->Next(1, &pidl, NULL) != S_FALSE; i++)
91 {
92 WCHAR sz[MAX_PATH];
94 hr = m_pISF->GetDisplayNameOf(pidl, SHGDN_NORMAL, &stret);
96 {
97 StringCchCopyW(sz, MAX_PATH, L"<Unknown-Name>");
98 }
99 else
100 StrRetToBuf(&stret, pidl, sz, _countof(sz));
101
102 TBBUTTON tb = { MAKELONG(index, 0), i, TBSTATE_ENABLED, buttonStyles,{ 0 }, (DWORD_PTR)pidl, (INT_PTR)sz };
104 }
105
106 // Resize the toolbar, and then show it.
107 SendMessage(m_hWnd, TB_AUTOSIZE, 0, 0);
108
109 return hr;
110}
CComPtr< IShellFolder > m_pISF
Definition: CISFBand.h:28
#define MAX_PATH
Definition: compat.h:34
#define FAILED_UNEXPECTEDLY(hr)
Definition: precomp.h:121
unsigned long DWORD
Definition: ntddk_ex.h:95
GLuint index
Definition: glext.h:6031
int WINAPI SHMapPIDLToSystemImageListIndex(IShellFolder *sh, LPCITEMIDLIST pidl, int *pIndex)
Definition: iconcache.cpp:769
#define L(x)
Definition: ntvdm.h:50
#define WS_CHILD
Definition: pedump.c:617
#define TB_SETEXTENDEDSTYLE
Definition: commctrl.h:1190
#define TB_AUTOSIZE
Definition: commctrl.h:1137
#define BTNS_AUTOSIZE
Definition: commctrl.h:1004
#define TBSTYLE_LIST
Definition: commctrl.h:993
#define TBSTYLE_EX_MIXEDBUTTONS
Definition: commctrl.h:1012
#define TB_INSERTBUTTONW
Definition: commctrl.h:1265
#define TB_SETIMAGELIST
Definition: commctrl.h:1150
#define CCS_NODIVIDER
Definition: commctrl.h:2248
#define TBSTATE_ENABLED
Definition: commctrl.h:974
#define TBSTYLE_FLAT
Definition: commctrl.h:992
#define TOOLBARCLASSNAME
Definition: commctrl.h:946
#define CCS_NORESIZE
Definition: commctrl.h:2245
#define SHIL_SMALL
Definition: shellapi.h:182
HRESULT WINAPI SHGetImageList(int iImageList, REFIID riid, void **ppv)
Definition: shellord.c:2445
HRESULT hr
Definition: shlfolder.c:183
#define StrRetToBuf
Definition: shlwapi.h:1769
#define _countof(array)
Definition: sndvol32.h:68
STRSAFEAPI StringCchCopyW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszSrc)
Definition: strsafe.h:149
#define DWORD_PTR
Definition: treelist.c:76
int32_t INT_PTR
Definition: typedefs.h:64
#define MAKELONG(a, b)
Definition: typedefs.h:249
#define CreateWindowEx
Definition: winuser.h:5754
#define CW_USEDEFAULT
Definition: winuser.h:225
__wchar_t WCHAR
Definition: xmlstorage.h:180

Referenced by SetSite().

◆ Exec()

STDMETHODIMP CISFBand::Exec ( IN const GUID pguidCmdGroup,
IN DWORD  nCmdID,
IN DWORD  nCmdexecopt,
IN VARIANT pvaIn,
IN OUT VARIANT pvaOut 
)
virtual

Definition at line 430 of file CISFBand.cpp.

431 {
432 if (IsEqualIID(*pguidCmdGroup, IID_IBandSite))
433 {
434 return S_OK;
435 }
436
437 if (IsEqualIID(*pguidCmdGroup, IID_IDeskBand))
438 {
439 if (nCmdID == DBID_SETWINDOWTHEME)
440 {
441 if (pvaIn && V_VT(pvaIn) == VT_BSTR && V_BSTR(pvaIn))
442 {
443 SetWindowTheme(m_hWnd, V_BSTR(pvaIn), NULL);
444 }
445 }
446 return S_OK;
447 }
448
450
451 return E_NOTIMPL;
452 }
#define UNIMPLEMENTED
Definition: debug.h:115
@ VT_BSTR
Definition: compat.h:2303
#define V_VT(A)
Definition: oleauto.h:211
#define V_BSTR(A)
Definition: oleauto.h:226
#define IsEqualIID(riid1, riid2)
Definition: guiddef.h:95
@ DBID_SETWINDOWTHEME
Definition: shobjidl.idl:2452
HRESULT WINAPI SetWindowTheme(_In_ HWND hwnd, _In_ LPCWSTR pszSubAppName, _In_ LPCWSTR pszSubIdList)
Definition: uxthemesupp.c:69

◆ GetBandInfo()

STDMETHODIMP CISFBand::GetBandInfo ( IN DWORD  dwBandID,
IN DWORD  dwViewMode,
IN OUT DESKBANDINFO pdbi 
)
virtual

Definition at line 209 of file CISFBand.cpp.

210 {
211 TRACE("CTaskBand::GetBandInfo(0x%x,0x%x,0x%p) hWnd=0x%p\n", dwBandID, dwViewMode, pdbi, m_hWnd);
212
213 if (m_hWnd && pdbi)
214 {
215 m_BandID = dwBandID;
216
217 RECT actualRect;
218 POINTL actualSize;
219 POINTL idealSize;
220 POINTL maxSize;
221 POINTL itemSize;
222
223 GetWindowRect(&actualRect);
224 actualSize.x = actualRect.right - actualRect.left;
225 actualSize.y = actualRect.bottom - actualRect.top;
226
227 // Obtain the ideal size, to be used as min and max
228 SendMessageW(m_hWnd, TB_AUTOSIZE, 0, 0);
229 SendMessageW(m_hWnd, TB_GETMAXSIZE, 0, reinterpret_cast<LPARAM>(&maxSize));
230
231 idealSize = maxSize;
232 SendMessageW(m_hWnd, TB_GETIDEALSIZE, FALSE, reinterpret_cast<LPARAM>(&idealSize));
233
234 // Obtain the button size, to be used as the integral size
235 DWORD size = SendMessageW(m_hWnd, TB_GETBUTTONSIZE, 0, 0);
236 itemSize.x = GET_X_LPARAM(size);
237 itemSize.y = GET_Y_LPARAM(size);
238
239 if (pdbi->dwMask & DBIM_MINSIZE)
240 {
241 if (m_QLaunch)
242 pdbi->ptMinSize.x = idealSize.x;
243 else
244 pdbi->ptMinSize.x = -1;
245 pdbi->ptMinSize.y = idealSize.y;
246 }
247 if (pdbi->dwMask & DBIM_MAXSIZE)
248 {
249 pdbi->ptMaxSize = maxSize;
250 }
251 if (pdbi->dwMask & DBIM_INTEGRAL)
252 {
253 pdbi->ptIntegral = itemSize;
254 }
255 if (pdbi->dwMask & DBIM_ACTUAL)
256 {
257 pdbi->ptActual = actualSize;
258 }
259 if (pdbi->dwMask & DBIM_TITLE)
260 {
261 if (m_QLaunch || !ILGetDisplayNameEx(NULL, m_pidl, pdbi->wszTitle, ILGDN_INFOLDER))
262 {
263 pdbi->dwMask &= ~DBIM_TITLE;
264 }
265 }
266 if (pdbi->dwMask & DBIM_MODEFLAGS)
267 {
268 pdbi->dwModeFlags = DBIMF_NORMAL | DBIMF_VARIABLEHEIGHT | DBIMF_USECHEVRON | DBIMF_NOMARGINS | DBIMF_BKCOLOR;
269 if (m_QLaunch)
270 {
271 pdbi->dwModeFlags |= DBIMF_ADDTOFRONT;
272 }
273 }
274 if (pdbi->dwMask & DBIM_BKCOLOR)
275 pdbi->dwMask &= ~DBIM_BKCOLOR;
276
277 return S_OK;
278 }
279
280 return E_FAIL;
281 }
#define FALSE
Definition: types.h:117
GLsizeiptr size
Definition: glext.h:5919
BOOL WINAPI ILGetDisplayNameEx(LPSHELLFOLDER psf, LPCITEMIDLIST pidl, LPVOID path, DWORD type)
Definition: pidl.c:162
#define TB_GETIDEALSIZE
Definition: commctrl.h:1284
#define TB_GETBUTTONSIZE
Definition: commctrl.h:1160
#define TB_GETMAXSIZE
Definition: commctrl.h:1189
LONG y
Definition: windef.h:330
LONG x
Definition: windef.h:329
LONG right
Definition: windef.h:308
LONG bottom
Definition: windef.h:309
LONG top
Definition: windef.h:307
LONG left
Definition: windef.h:306
#define ILGDN_INFOLDER
Definition: undocshell.h:70
#define GET_Y_LPARAM(lp)
Definition: windowsx.h:300
#define GET_X_LPARAM(lp)
Definition: windowsx.h:299
BOOL WINAPI GetWindowRect(_In_ HWND, _Out_ LPRECT)
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)

◆ GetBandInfoSFB()

STDMETHODIMP CISFBand::GetBandInfoSFB ( PBANDINFOSFB  pbi)
virtual

Definition at line 456 of file CISFBand.cpp.

457 {
458 if (pbi->dwMask == ISFB_MASK_IDLIST)
459 {
460 pbi->pidl = ILClone(m_pidl);
461 if (!pbi->pidl)
462 return E_OUTOFMEMORY;
463 return S_OK;
464 }
465
466 return E_NOTIMPL;
467 }
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
LPITEMIDLIST WINAPI ILClone(LPCITEMIDLIST pidl)
Definition: pidl.c:228
#define ISFB_MASK_IDLIST
Definition: shlobj.h:2770
_Inout_ PERBANDINFO * pbi
Definition: winddi.h:3917

◆ GetClassID()

STDMETHODIMP CISFBand::GetClassID ( OUT CLSID pClassID)
virtual

Definition at line 285 of file CISFBand.cpp.

286 {
287 *pClassID = CLSID_ISFBand;
288
289 return S_OK;
290 }

◆ GetCommandString()

STDMETHODIMP CISFBand::GetCommandString ( UINT_PTR  idCmd,
UINT  uFlags,
UINT pwReserved,
LPSTR  pszName,
UINT  cchMax 
)
virtual

Implements IContextMenu.

Definition at line 534 of file CISFBand.cpp.

535 {
536 /*HRESULT hr = E_INVALIDARG;
537
538 if (idCmd == IDM_DISPLAY)
539 {
540 switch (uFlags)
541 {
542 case GCS_HELPTEXTW:
543 // Only useful for pre-Vista versions of Windows that
544 // have a Status bar.
545 hr = StringCchCopyW(reinterpret_cast<PWSTR>(pszName),
546 cchMax,
547 L"Display File Name");
548 break;
549
550 case GCS_VERBW:
551 // GCS_VERBW is an optional feature that enables a caller
552 // to discover the canonical name for the verb that is passed in
553 // through idCommand.
554 hr = StringCchCopyW(reinterpret_cast<PWSTR>(pszName),
555 cchMax,
556 L"DisplayFileName");
557 break;
558 }
559 }
560 return hr; */
561
562 return S_OK;
563 }

◆ GetSite()

STDMETHODIMP CISFBand::GetSite ( IN REFIID  riid,
OUT void **  ppvSite 
)
virtual

Definition at line 137 of file CISFBand.cpp.

138 {
139 TRACE("CISFBand::GetSite(0x%p,0x%p)\n", riid, ppvSite);
140
141 HRESULT hr;
142 if (m_Site != NULL)
143 {
144 hr = m_Site->QueryInterface(riid, ppvSite);
145 if (FAILED(hr)) return hr;
146 }
147
148 *ppvSite = NULL;
149 return E_FAIL;
150 }
CComPtr< IUnknown > m_Site
Definition: CISFBand.h:25
REFIID riid
Definition: atlbase.h:39
#define FAILED(hr)
Definition: intsafe.h:51

◆ GetSizeMax()

STDMETHODIMP CISFBand::GetSizeMax ( OUT ULARGE_INTEGER pcbSize)
virtual

Definition at line 314 of file CISFBand.cpp.

315 {
316 TRACE("CISFBand::GetSizeMax called\n");
317
318 return S_OK;
319 }

◆ GetWindow()

STDMETHODIMP CISFBand::GetWindow ( OUT HWND phwnd)
virtual

Definition at line 154 of file CISFBand.cpp.

155 {
156 if (!m_hWnd)
157 return E_FAIL;
158 if (!phwnd)
159 return E_POINTER;
160 *phwnd = m_hWnd;
161
162 return S_OK;
163 }
#define E_POINTER
Definition: winerror.h:2365

◆ InitializeSFB()

STDMETHODIMP CISFBand::InitializeSFB ( IShellFolder psf,
PCIDLIST_ABSOLUTE  pidl 
)
virtual

Definition at line 469 of file CISFBand.cpp.

470 {
471 HRESULT hr;
472
473 if (!psf && !pidl)
474 return E_INVALIDARG;
475
476 if (psf && pidl)
477 return E_INVALIDARG;
478
479 if (pidl != NULL)
480 {
481 CComPtr<IShellFolder> psfDesktop;
482 hr = SHGetDesktopFolder(&psfDesktop);
484 return hr;
485
486 if (_ILIsDesktop(pidl))
487 {
488 m_pISF = psfDesktop;
489 }
490 else
491 {
492 hr = psfDesktop->BindToObject(pidl, NULL, IID_PPV_ARG(IShellFolder, &m_pISF));
494 return hr;
495 }
496
497 m_pidl = ILClone(pidl);
498 }
499
500 if (psf != NULL)
501 {
502 CComPtr<IPersistFolder2> ppf2;
505 return hr;
506
507 hr = ppf2->GetCurFolder(&m_pidl);
509 return hr;
510
511 m_pISF = psf;
512 }
513
514 return S_OK;
515 }
BOOL _ILIsDesktop(LPCITEMIDLIST pidl)
Definition: CBandSite.h:24
HRESULT WINAPI SHGetDesktopFolder(IShellFolder **psf)
#define E_INVALIDARG
Definition: ddrawi.h:101
HRESULT QueryInterface([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
#define IID_PPV_ARG(Itype, ppType)

◆ InvokeCommand()

STDMETHODIMP CISFBand::InvokeCommand ( LPCMINVOKECOMMANDINFO  pici)
virtual

Implements IContextMenu.

Definition at line 565 of file CISFBand.cpp.

566 {
567 if (!HIWORD(pici->lpVerb))
568 {
569 switch (LOWORD(pici->lpVerb))
570 {
571 case IDM_LARGE_ICONS:
572 {
573 m_iconFlag = false;
574
575 HIMAGELIST* piml = (HIMAGELIST*) SendMessage(m_hWnd, TB_GETIMAGELIST, 0, 0);
576 HRESULT hr = SHGetImageList(SHIL_LARGE, IID_IImageList, (void**)&piml);
577 if (FAILED_UNEXPECTEDLY(hr)) return hr;
578 SendMessage(m_hWnd, TB_SETIMAGELIST, 0, (LPARAM)piml);
579 hr = IUnknown_Exec(m_Site, IID_IDeskBand, DBID_BANDINFOCHANGED, 0, NULL, NULL);
580 if (FAILED_UNEXPECTEDLY(hr)) return hr;
581 break;
582 }
583 case IDM_SMALL_ICONS:
584 {
585 m_iconFlag = true;
586
587 HIMAGELIST* piml = (HIMAGELIST*)SendMessage(m_hWnd, TB_GETIMAGELIST, 0, 0);
588 HRESULT hr = SHGetImageList(SHIL_SMALL, IID_IImageList, (void**)&piml);
589 if (FAILED_UNEXPECTEDLY(hr)) return hr;
590 SendMessage(m_hWnd, TB_SETIMAGELIST, 0, (LPARAM)piml);
591 hr = IUnknown_Exec(m_Site, IID_IDeskBand, DBID_BANDINFOCHANGED, 0, NULL, NULL);
592 if (FAILED_UNEXPECTEDLY(hr)) return hr;
593 break;
594 }
595 case IDM_OPEN_FOLDER:
596 {
597 SHELLEXECUTEINFO shexinfo;
598
599 memset(&shexinfo, 0x0, sizeof(shexinfo));
600
601 shexinfo.cbSize = sizeof(shexinfo);
602 shexinfo.fMask = SEE_MASK_IDLIST;
603 shexinfo.lpVerb = _T("open");
604 shexinfo.lpIDList = m_pidl;
605 shexinfo.nShow = SW_SHOW;
606
607 if (!ShellExecuteEx(&shexinfo))
608 return E_FAIL;
609
610 break;
611 }
612 case IDM_SHOW_TEXT:
613 {
614 if (m_textFlag)
615 {
616 m_textFlag = false;
619 if (FAILED_UNEXPECTEDLY(hr)) return hr;
620 }
621 else
622 {
623 m_textFlag = true;
624 SendMessage(m_hWnd, TB_SETEXTENDEDSTYLE, 0, 0);
626 if (FAILED_UNEXPECTEDLY(hr)) return hr;
627 }
628 break;
629 }
630 default:
631 return E_FAIL;
632 }
633 }
634
635 return S_OK;
636 }
#define IDM_SMALL_ICONS
Definition: resource.h:69
#define IDM_OPEN_FOLDER
Definition: resource.h:72
#define IDM_LARGE_ICONS
Definition: resource.h:68
#define IDM_SHOW_TEXT
Definition: resource.h:70
HRESULT WINAPI IUnknown_Exec(IUnknown *lpUnknown, REFGUID pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut)
Definition: ordinal.c:1083
#define LOWORD(l)
Definition: pedump.c:82
#define TB_GETIMAGELIST
Definition: commctrl.h:1151
#define memset(x, y, z)
Definition: compat.h:39
#define ShellExecuteEx
Definition: shellapi.h:691
#define SEE_MASK_IDLIST
Definition: shellapi.h:27
#define SHIL_LARGE
Definition: shellapi.h:181
@ DBID_BANDINFOCHANGED
Definition: shobjidl.idl:2446
#define HIWORD(l)
Definition: typedefs.h:247
#define _T(x)
Definition: vfdio.h:22
#define SW_SHOW
Definition: winuser.h:774

◆ IsDirty()

STDMETHODIMP CISFBand::IsDirty ( void  )
virtual

Implements IPersistStream.

Definition at line 292 of file CISFBand.cpp.

293 {
294 /* The object hasn't changed since the last save! */
295
296 return S_FALSE;
297 }

◆ IsWindowOwner()

STDMETHODIMP CISFBand::IsWindowOwner ( HWND  hWnd)
virtual

Definition at line 416 of file CISFBand.cpp.

417 {
418 return (hWnd == m_hWnd) ? S_OK : S_FALSE;
419 }

◆ Load()

STDMETHODIMP CISFBand::Load ( IN IStream pStm)
virtual

Definition at line 299 of file CISFBand.cpp.

300 {
301 TRACE("CISFBand::Load called\n");
302 /* Nothing to do */
303
304 return S_OK;
305 }

◆ OnWinEvent()

STDMETHODIMP CISFBand::OnWinEvent ( HWND  hWnd,
UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
LRESULT theResult 
)
virtual

Definition at line 334 of file CISFBand.cpp.

335 {
336 switch (uMsg)
337 {
338 case WM_COMMAND:
339 {
340 TBBUTTON tb;
341 bool chk = SendMessage(m_hWnd, TB_GETBUTTON, LOWORD(wParam), (LPARAM)&tb);
342 if (chk)
344
345 if (theResult)
346 *theResult = TRUE;
347 break;
348 }
349 case WM_NOTIFY:
350 {
351 switch (((LPNMHDR)lParam)->code)
352 {
353 case NM_RCLICK:
354 {
355 HRESULT hr;
356 POINT pt = ((LPNMMOUSE)lParam)->pt; // Already in screen coordinates
357 CComPtr<IContextMenu> picm;
358 HMENU fmenu = CreatePopupMenu();
359 TBBUTTON tb;
360
361 bool chk = SendMessage(m_hWnd, TB_GETBUTTON, ((LPNMMOUSE)lParam)->dwItemSpec, (LPARAM)&tb);
362 LPITEMIDLIST pidl = (LPITEMIDLIST)tb.dwData;
363
364 if (chk)
365 {
366 hr = m_pISF->GetUIObjectOf(m_hWnd, 1, &pidl, IID_NULL_PPV_ARG(IContextMenu, &picm));
368 return hr;
369
370 hr = picm->QueryContextMenu(fmenu, 0, 1, 0x7FFF, CMF_DEFAULTONLY);
372 return hr;
373
374 int id = TrackPopupMenuEx(fmenu, TPM_LEFTALIGN | TPM_BOTTOMALIGN | TPM_RETURNCMD, pt.x, pt.y, m_hWnd, 0);
375 if (id > 0)
376 {
378 info.cbSize = sizeof(info);
379 info.fMask = CMIC_MASK_PTINVOKE;
380 if (GetKeyState(VK_CONTROL) < 0)
381 {
382 info.fMask |= CMIC_MASK_CONTROL_DOWN;
383 }
384 if (GetKeyState(VK_SHIFT) < 0)
385 {
386 info.fMask |= CMIC_MASK_SHIFT_DOWN;
387 }
388 info.hwnd = m_hWnd;
389 info.lpVerb = MAKEINTRESOURCEA(id - 1);
390 info.nShow = SW_SHOWNORMAL;
391 info.ptInvoke = pt;
392 picm->InvokeCommand((LPCMINVOKECOMMANDINFO)&info);
393 }
394 }
395 DestroyMenu(fmenu);
396
397 if (theResult)
398 *theResult = TRUE;
399 break;
400 }
401 default:
402 if (theResult)
403 *theResult = FALSE;
404 }
405
406 break;
407 }
408 default:
409 if (theResult)
410 *theResult = FALSE;
411 }
412
413 return S_OK;
414 }
WPARAM wParam
Definition: combotst.c:138
LPARAM lParam
Definition: combotst.c:139
#define TRUE
Definition: types.h:120
HRESULT WINAPI SHInvokeDefaultCommand(HWND hWnd, IShellFolder *lpFolder, LPCITEMIDLIST lpApidl)
Definition: ordinal.c:2977
#define pt(x, y)
Definition: drawing.c:79
struct IContextMenu::tagCMINVOKECOMMANDINFO * LPCMINVOKECOMMANDINFO
struct IContextMenu::tagCMInvokeCommandInfoEx CMINVOKECOMMANDINFOEX
if(dx< 0)
Definition: linetemp.h:194
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition: ordinal.c:63
#define NM_RCLICK
Definition: commctrl.h:133
struct tagNMMOUSE * LPNMMOUSE
#define WM_NOTIFY
Definition: richedit.h:61
Definition: inflate.c:139
#define SW_SHOWNORMAL
Definition: winuser.h:769
HMENU WINAPI CreatePopupMenu(void)
Definition: menu.c:838
#define WM_COMMAND
Definition: winuser.h:1739
#define TPM_BOTTOMALIGN
Definition: winuser.h:2384
#define VK_CONTROL
Definition: winuser.h:2202
BOOL WINAPI TrackPopupMenuEx(_In_ HMENU, _In_ UINT, _In_ int, _In_ int, _In_ HWND, _In_opt_ LPTPMPARAMS)
#define TPM_LEFTALIGN
Definition: winuser.h:2376
#define MAKEINTRESOURCEA(i)
Definition: winuser.h:581
BOOL WINAPI DestroyMenu(_In_ HMENU)
#define VK_SHIFT
Definition: winuser.h:2201
#define TPM_RETURNCMD
Definition: winuser.h:2386
SHORT WINAPI GetKeyState(_In_ int)
#define IID_NULL_PPV_ARG(Itype, ppType)

◆ QueryContextMenu()

STDMETHODIMP CISFBand::QueryContextMenu ( HMENU  hmenu,
UINT  indexMenu,
UINT  idCmdFirst,
UINT  idCmdLast,
UINT  uFlags 
)
virtual

Implements IContextMenu.

Definition at line 638 of file CISFBand.cpp.

639 {
641
642 if(m_textFlag)
644 else
646
647 if (m_iconFlag)
648 {
651 }
652 else
653 {
656 }
657
658 if (_ILIsDesktop(m_pidl))
660
661 UINT idMax = Shell_MergeMenus(hmenu, GetSubMenu(qMenu, 0), indexMenu, idCmdFirst, idCmdLast, MM_SUBMENUSHAVEIDS);
662 DestroyMenu(qMenu);
663 return MAKE_HRESULT(SEVERITY_SUCCESS, 0, USHORT(idMax - idCmdFirst +1));
664 }
#define IDM_POPUPMENU
Definition: resource.h:67
HMODULE WINAPI GetModuleHandleW(LPCWSTR lpModuleName)
Definition: loader.c:838
#define MAKE_HRESULT(sev, fac, code)
Definition: dmerror.h:30
unsigned int UINT
Definition: ndis.h:50
unsigned short USHORT
Definition: pedump.c:61
UINT WINAPI Shell_MergeMenus(HMENU hmDst, HMENU hmSrc, UINT uInsert, UINT uIDAdjust, UINT uIDAdjustMax, ULONG uFlags)
Definition: shlmenu.c:856
#define MM_SUBMENUSHAVEIDS
Definition: shlobj.h:2514
static HMENU hmenu
Definition: win.c:66
#define SEVERITY_SUCCESS
Definition: winerror.h:64
#define MF_BYCOMMAND
Definition: winuser.h:202
BOOL WINAPI DeleteMenu(_In_ HMENU, _In_ UINT, _In_ UINT)
#define MF_CHECKED
Definition: winuser.h:132
#define MF_UNCHECKED
Definition: winuser.h:204
DWORD WINAPI CheckMenuItem(_In_ HMENU, _In_ UINT, _In_ UINT)
HMENU WINAPI GetSubMenu(_In_ HMENU, _In_ int)
#define LoadMenu
Definition: winuser.h:5816
#define MAKEINTRESOURCE
Definition: winuser.h:591

◆ QueryStatus()

STDMETHODIMP CISFBand::QueryStatus ( IN const GUID pguidCmdGroup,
IN ULONG  cCmds,
IN OUT OLECMD  prgCmds[],
IN OUT OLECMDTEXT pCmdText 
)
virtual

Definition at line 423 of file CISFBand.cpp.

424 {
426
427 return E_NOTIMPL;
428 }

◆ ResizeBorderDW()

STDMETHODIMP CISFBand::ResizeBorderDW ( LPCRECT  prcBorder,
IUnknown punkToolbarSite,
BOOL  fReserved 
)
virtual

Implements IDockingWindow.

Definition at line 202 of file CISFBand.cpp.

203 {
204 /* No need to implement this method */
205
206 return E_NOTIMPL;
207 }

◆ Save()

STDMETHODIMP CISFBand::Save ( IN IStream pStm,
IN BOOL  fClearDirty 
)
virtual

Definition at line 307 of file CISFBand.cpp.

308 {
309 /* Nothing to do */
310
311 return S_OK;
312 }

◆ SetBandInfoSFB()

STDMETHODIMP CISFBand::SetBandInfoSFB ( PBANDINFOSFB  pbi)
virtual

Definition at line 517 of file CISFBand.cpp.

518 {
519 if ((pbi->dwMask & ISFB_MASK_STATE) &&
520 (pbi->dwState & ISFB_STATE_QLINKSMODE) &&
521 (pbi->dwStateMask & ISFB_STATE_QLINKSMODE))
522 {
523 m_QLaunch = true;
524 m_textFlag = false;
525 if (m_hWnd)
527 }
528
529 return E_NOTIMPL;
530 }
#define ISFB_MASK_STATE
Definition: shlobj.h:2769
#define ISFB_STATE_QLINKSMODE
Definition: shlobj.h:2772

◆ SetSite()

STDMETHODIMP CISFBand::SetSite ( IN IUnknown pUnkSite)
virtual

Definition at line 115 of file CISFBand.cpp.

116 {
117 HRESULT hr;
119
120 TRACE("CISFBand::SetSite(0x%p)\n", pUnkSite);
121
122 hr = IUnknown_GetWindow(pUnkSite, &hwndParent);
123 if (FAILED(hr))
124 {
125 TRACE("Querying site window failed: 0x%x\n", hr);
126 return hr;
127 }
128 m_Site = pUnkSite;
129
132 return hr;
133
134 return S_OK;
135 }
HRESULT CreateSimpleToolbar(HWND hWndParent)
Definition: CISFBand.cpp:54
static HWND hwndParent
Definition: cryptui.c:300
HRESULT WINAPI IUnknown_GetWindow(IUnknown *lpUnknown, HWND *lphWnd)
Definition: ordinal.c:1332

◆ ShowDW()

STDMETHODIMP CISFBand::ShowDW ( IN BOOL  bShow)
virtual

Definition at line 171 of file CISFBand.cpp.

172 {
173 if (m_hWnd)
174 {
175 ShowWindow(bShow ? SW_SHOW : SW_HIDE);
176 return S_OK;
177 }
178
179 return E_FAIL;
180 }

Member Data Documentation

◆ m_BandID

DWORD CISFBand::m_BandID
private

Definition at line 24 of file CISFBand.h.

Referenced by GetBandInfo().

◆ m_iconFlag

BOOL CISFBand::m_iconFlag
private

Definition at line 33 of file CISFBand.h.

Referenced by InvokeCommand(), and QueryContextMenu().

◆ m_pidl

PIDLIST_ABSOLUTE CISFBand::m_pidl
private

◆ m_pISF

CComPtr<IShellFolder> CISFBand::m_pISF
private

Definition at line 28 of file CISFBand.h.

Referenced by CreateSimpleToolbar(), InitializeSFB(), and OnWinEvent().

◆ m_QLaunch

BOOL CISFBand::m_QLaunch
private

Definition at line 34 of file CISFBand.h.

Referenced by GetBandInfo(), and SetBandInfoSFB().

◆ m_Site

CComPtr<IUnknown> CISFBand::m_Site
private

Definition at line 25 of file CISFBand.h.

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

◆ m_textFlag

BOOL CISFBand::m_textFlag
private

Definition at line 32 of file CISFBand.h.

Referenced by CreateSimpleToolbar(), InvokeCommand(), QueryContextMenu(), and SetBandInfoSFB().


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