ReactOS 0.4.16-dev-456-ga97fcf1
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 1870 of file msutb.cpp.

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

Referenced by STDMETHODIMP_().

◆ ~CCicLibMenu()

CCicLibMenu::~CCicLibMenu ( )
virtual

Definition at line 1874 of file msutb.cpp.

1875{
1876 for (size_t iItem = 0; iItem < m_MenuItems.size(); ++iItem)
1877 {
1878 delete m_MenuItems[iItem];
1879 m_MenuItems[iItem] = NULL;
1880 }
1881}
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 1918 of file msutb.cpp.

1926{
1927 if (ppSubMenu)
1928 *ppSubMenu = NULL;
1929
1930 CCicLibMenu *pSubMenu = NULL;
1932 {
1933 if (!ppSubMenu)
1934 return E_INVALIDARG;
1935 pSubMenu = CreateSubMenu();
1936 }
1937
1938 CCicLibMenuItem *pMenuItem = CreateMenuItem();
1939 if (!pMenuItem)
1940 return E_OUTOFMEMORY;
1941
1942 if (!pMenuItem->Init(uId, dwFlags, hbmp, hbmpMask, pch, cch, pSubMenu))
1943 return E_FAIL;
1944
1945 if (ppSubMenu && pSubMenu)
1946 {
1947 *ppSubMenu = pSubMenu;
1948 pSubMenu->AddRef();
1949 }
1950
1951 m_MenuItems.Add(pMenuItem);
1952 return S_OK;
1953}
HBITMAP hbmp
BOOL Init(UINT uId, DWORD dwFlags, HBITMAP hbmp, HBITMAP hbmpMask, const WCHAR *pch, ULONG cch, ITfMenu *pMenu)
Definition: msutb.cpp:1993
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
static DWORD DWORD void LPSTR DWORD cch
Definition: str.c:202
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1176

◆ QueryInterface()

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

Definition at line 1883 of file msutb.cpp.

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

◆ 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.

◆ 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: