ReactOS 0.4.16-dev-2498-g8632030
CCicLibMenu Class Reference
Inheritance diagram for CCicLibMenu:
Collaboration diagram for CCicLibMenu:

Public Member Functions

 CCicLibMenu ()
 
virtual ~CCicLibMenu ()
 
STDMETHOD() QueryInterface (REFIID riid, LPVOID *ppvObj) override
 
 STDMETHOD_ (ULONG, AddRef)() override
 
 STDMETHOD_ (ULONG, Release)() override
 
STDMETHOD() AddMenuItem (UINT uId, DWORD dwFlags, HBITMAP hbmp, HBITMAP hbmpMask, const WCHAR *pch, ULONG cch, ITfMenu **ppSubMenu) override
 
 STDMETHOD_ (CCicLibMenu *, CreateSubMenu)()
 
 STDMETHOD_ (CCicLibMenuItem *, CreateMenuItem)()
 
HRESULT AddMenuItem ([in] UINT uId, [in] DWORD dwFlags, [in] HBITMAP hbmp, [in] HBITMAP hbmpMask, [in] const WCHAR *pch, [in] ULONG cch, ITfMenu **ppMenu)
 
- Public Member Functions inherited from IUnknown
HRESULT QueryInterface ([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
 
ULONG AddRef ()
 
ULONG Release ()
 

Protected Attributes

CicArray< CCicLibMenuItem * > m_MenuItems
 
LONG m_cRefs
 

Additional Inherited Members

- Public Types inherited from IUnknown
typedef IUnknownLPUNKNOWN
 
- Public Attributes inherited from ITfMenu
const DWORD TF_LBMENUF_CHECKED = 0x00000001
 
const DWORD TF_LBMENUF_SUBMENU = 0x00000002
 
const DWORD TF_LBMENUF_SEPARATOR = 0x00000004
 
const DWORD TF_LBMENUF_RADIOCHECKED = 0x00000008
 
const DWORD TF_LBMENUF_GRAYED = 0x00000010
 

Detailed Description

Definition at line 709 of file msutb.cpp.

Constructor & Destructor Documentation

◆ CCicLibMenu()

CCicLibMenu::CCicLibMenu ( )

Definition at line 1871 of file msutb.cpp.

1871 : m_cRefs(1)
1872{
1873}
LONG m_cRefs
Definition: msutb.cpp:713

Referenced by STDMETHODIMP_().

◆ ~CCicLibMenu()

CCicLibMenu::~CCicLibMenu ( )
virtual

Definition at line 1875 of file msutb.cpp.

1876{
1877 for (size_t iItem = 0; iItem < m_MenuItems.size(); ++iItem)
1878 {
1879 delete m_MenuItems[iItem];
1880 m_MenuItems[iItem] = NULL;
1881 }
1882}
CicArray< CCicLibMenuItem * > m_MenuItems
Definition: msutb.cpp:712
size_t size() const
Definition: cicarray.h:34
#define NULL
Definition: types.h:112

Member Function Documentation

◆ AddMenuItem()

STDMETHODIMP CCicLibMenu::AddMenuItem ( UINT  uId,
DWORD  dwFlags,
HBITMAP  hbmp,
HBITMAP  hbmpMask,
const WCHAR pch,
ULONG  cch,
ITfMenu **  ppSubMenu 
)
override

Implements ITfMenu.

Definition at line 1919 of file msutb.cpp.

1927{
1928 if (ppSubMenu)
1929 *ppSubMenu = NULL;
1930
1931 CCicLibMenu *pSubMenu = NULL;
1933 {
1934 if (!ppSubMenu)
1935 return E_INVALIDARG;
1936 pSubMenu = CreateSubMenu();
1937 }
1938
1939 CCicLibMenuItem *pMenuItem = CreateMenuItem();
1940 if (!pMenuItem)
1941 return E_OUTOFMEMORY;
1942
1943 if (!pMenuItem->Init(uId, dwFlags, hbmp, hbmpMask, pch, cch, pSubMenu))
1944 return E_FAIL;
1945
1946 if (ppSubMenu && pSubMenu)
1947 {
1948 *ppSubMenu = pSubMenu;
1949 pSubMenu->AddRef();
1950 }
1951
1952 m_MenuItems.Add(pMenuItem);
1953 return S_OK;
1954}
HBITMAP hbmp
BOOL Init(UINT uId, DWORD dwFlags, HBITMAP hbmp, HBITMAP hbmpMask, const WCHAR *pch, ULONG cch, ITfMenu *pMenu)
Definition: msutb.cpp:1994
BOOL Add(const T_ITEM &item)
Definition: cicarray.h:60
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define E_INVALIDARG
Definition: ddrawi.h:101
#define E_FAIL
Definition: ddrawi.h:102
const DWORD TF_LBMENUF_SUBMENU
Definition: ctfutb.idl:431
ULONG AddRef()
#define S_OK
Definition: intsafe.h:52
#define pch(ap)
Definition: match.c:418
_In_ LPWSTR _In_ DWORD _In_ DWORD _In_ DWORD dwFlags
Definition: netsh.h:141
_In_ UINT _In_ UINT cch
Definition: shellapi.h:432

◆ QueryInterface()

STDMETHODIMP CCicLibMenu::QueryInterface ( REFIID  riid,
LPVOID ppvObj 
)
override

Definition at line 1884 of file msutb.cpp.

1885{
1886 static const QITAB c_tab[] =
1887 {
1889 { NULL }
1890 };
1891 return ::QISearch(this, c_tab, riid, ppvObj);
1892}
REFIID riid
Definition: atlbase.h:39
#define QITABENT(Cthis, Ifoo)
Definition: shlwapi.h:152
Definition: shlwapi.h:139

◆ STDMETHOD_() [1/4]

CCicLibMenu::STDMETHOD_ ( CCicLibMenu ,
CreateSubMenu   
)

◆ STDMETHOD_() [2/4]

CCicLibMenu::STDMETHOD_ ( CCicLibMenuItem ,
CreateMenuItem   
)

◆ STDMETHOD_() [3/4]

CCicLibMenu::STDMETHOD_ ( ULONG  ,
AddRef   
)
override

◆ STDMETHOD_() [4/4]

CCicLibMenu::STDMETHOD_ ( ULONG  ,
Release   
)
override

Member Data Documentation

◆ m_cRefs

LONG CCicLibMenu::m_cRefs
protected

Definition at line 713 of file msutb.cpp.

Referenced by STDMETHODIMP_().

◆ m_MenuItems

CicArray<CCicLibMenuItem*> CCicLibMenu::m_MenuItems
protected

Definition at line 712 of file msutb.cpp.

Referenced by AddMenuItem(), CUTBLBarMenu::CreateMenuUI(), and ~CCicLibMenu().


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